使用maven部署项目到tomcat服务器的笔记


使用了maven进行开发之后然后要把项目部署到服务器中,刚开始以为是和普通的部署一样然后按照着普通的部署方法发现行不太通(备注:也可以从事先编译好再把webapp文件夹下面的内容拷贝到tomcat的子目录webapp目录下面,也可以借助eclipse先把项目打包成war包放到tomcat的webapp目录下面去然后启动tomcat),然后才想到maven编译生成的编译文件的目录结构和普通的不太一样于是才使用maven部署项目到tomcat中去,下面是部署过程以及遇到的一些问题。

1.把项目拷贝到服务器中;

2.修改tomcat的tomcat-users.xml文件,在里面添加

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="admin" password="admin" roles="manager-gui,manager-script"/>
3.修改maven的conf目录下面的setting.xml文件,在里面添加( 注意是在<servers></servers>节点下面添加
<server>
      <id>tomcat7</id>
      <username>admin</username>
      <password>admin</password>
    </server>
注意:maven中的配置文件中添加tomcat的id名字和tomcat中配置的username是对应的
4.修改项目的pom.xml文件,添加插件和关联tomcat服务(在plugins节点下面添加):

<artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <encoding>UTF-8</encoding>
                     <version>2.3.2</version>
                    <source>1.7</source>
                    <target>1.7</target>
                    <!-- 关联tomcat服务 -->
                    <server>tomcat7</server> <!-- 此处的名字必须和setting.xml中配置的ID一致-->
                    <path>/ostpc</path> <!-- 此处的名字是项目发布的工程名-->
                    
                    <!--这个是为了解决引用不在仓库中的jar包的问题,这个问题也可以通过把jar包安装到仓库中进行解决-->
                    <compilerArguments>
                        <bootclasspath>${env.JAVA_HOME}/jre/lib/rt.jar</bootclasspath>
                        <extdirs>src\main\webapp\WEB-INF\lib</extdirs>
                    </compilerArguments>
                </configuration> 
<!-- 要让maven能够发布项目到tomcat中需要安装tomcat插件 -->
<plugin> 
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<version>2.1</version>
				<configuration> 
					<url>http://localhost:8080/manager/text</url>  
					<server>tomcat7</server>
					<username>admin</username>
					<password>admin</password>  
				</configuration> 
			</plugin>
注意:username和password要和tomcat-users.xml文件中的一致。

5.用命令行进入到项目的根目录,先用mvn compile 下载一些需要的jar包;

6.mvn clean install    ----->mvn tomcat7:redeploy       (两行命令我运行了两次,第一次报错,不知道什么原因,然后再次运行就可以了,最开始用的是没有install直接用mvn tomcat7:deploy这个方式来发布项目,但是我的这里失败了)

7.经过以上的步骤就可以成功的使用maven部署项目了。


所遇到的问题:

1.最开始mvn compile的时候一直报错找不到包,但是在本地却是可以运行,但那时服务器却不行,原来是因为一些jar包放在

WEB-INFO的的lib文件夹下面,maven找不到,所以要添加上

<compilerArguments>
                        <bootclasspath>${env.JAVA_HOME}/jre/lib/rt.jar</bootclasspath>
                        <extdirs>src\main\webapp\WEB-INF\lib</extdirs>
                    </compilerArguments>

<bootclasspath>${env.JAVA_HOME}/jre/lib/rt.jar</bootclasspath>是引用jre中的一些包,我的是因为mvn compile的时候报错jpegcodec 找不到;


2.mavencompile的时候报错:maven 找不 到符号 [ERROR] 符号: 方法 getServletContext(),这个是因为使用的servlet-api的版本太低的原因,把pom.xml的依赖改成:
<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.1.0</version>
			<scope>provided</scope>
		</dependency>


使用eclipse来发布项目可以省事很多,但是在服务器中一般是不会安装这个idea的,所以就折腾了一下maven部署项目。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 使用 Maven 可以很方便地将项目部署Tomcat 上。首先,需要在项目的 pom.xml 文件中添加 tomcat7-maven-plugin 插件,然后在命令行中运行 "mvn tomcat7:deploy" 或 "mvn tomcat7:redeploy" 命令即可将项目发布到 Tomcat 上。 需要注意的是,需要在 tomcat-users.xml 中配置相应的用户名和密码才能成功部署。 示例的 pom.xml : ``` <build> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <url>http://localhost:8080/manager/text</url> <server>TomcatServer</server> <path>/your-project-context-path</path> </configuration> </plugin> </plugins> </build> ``` 在命令行中运行 mvn tomcat7:deploy。 如需了解更多详细步骤,请参阅官方文档:http://tomcat.apache.org/maven-plugin-trunk/tomcat7-maven-plugin/deploy-mojo.html ### 回答2: 在将IDEA中的Maven项目部署Tomcat之前,需要确保以下几个步骤已经完成: 1. 确保在IDEA中正确地配置Maven仓库和Tomcat服务器。 2. 在Maven项目的pom.xml文件中定义war插件,以便能够将项目打包为war文件: ``` <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.2.2</version> <configuration> <warSourceDirectory>src/main/webapp</warSourceDirectory> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin> </plugins> </build> ``` 3. 在Tomcat的conf目录下创建一个新的文件夹,例如myapp,然后在该文件夹下创建一个新的XML配置文件,例如myapp.xml,包含以下内容: ``` <Context docBase="/path/to/war/file" privileged="true" antiResourceLocking="false" antiJARLocking="false"> </Context> ``` 其中/docBase/指向war文件的完整路径。privileged="true"表示该应用程序有完全的系统权限,antiResourceLocking和antiJARLocking则是为了避免文件锁死和JAR文件锁死。 4. 最后,将war文件复制Tomcatwebapps目录下,启动Tomcat服务器,即可通过浏览器访问Maven项目部署的应用程序。 以上为将IDEA中的Maven项目部署Tomcat的基本步骤,但在具体应用中还需根据自己的实际情况进行适当的修改和调整。 ### 回答3: Maven是一个非常流行的Java项目管理工具,它可以通过一系列的配置文件和插件来快速构建、打包和部署Java项目。而Tomcat则是一个非常流行的Java Web应用服务器,可以用来运行Java Web应用。 将Maven项目部署Tomcat上,需要进行以下步骤: 1. 配置Tomcat 首先,需要在Tomcat中添加一个新的项目,并为其指定一个可用的端口。在Tomcat的conf/server.xml文件中添加一个新的<Connector>标签,并指定其端口和协议类型。例如: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 2. 配置Maven 接下来,需要在Maven配置Tomcat服务器的插件。在项目的pom.xml文件中,添加以下插件: <build> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <url>http://localhost:8080/manager/text</url> <server>tomcat</server> <path>/myapp</path> </configuration> </plugin> </plugins> </build> 3. 打包项目Maven使用mvn命令进行项目的打包。在命令行中进入项目目录,然后输入以下命令: mvn clean package 该命令将会编译Java代码,并将其打包成一个WAR文件。 4. 部署项目 最后,使用Maven插件将打包好的WAR文件部署Tomcat服务器上。在命令行中输入以下命令: mvn tomcat7:deploy 该命令会将WAR文件上传到Tomcat服务器,并在服务器部署该应用程序。 如果需要重启Tomcat服务器,可使用以下命令: mvn tomcat7:redeploy 以上就是将Maven项目部署Tomcat服务器上的详细步骤。在实际操作中,还需要注意配置文件的路径、端口号、用户名和密码等信息。此外,在部署过程中可能会遇到一些问题,需要及时查找并解决。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值