普通java项目改进为maven:ecplise

首先:项目上右击->configure->Convert to Maven Project 将项目转化为maven项目。 或者在.project文件中natures节添加

<natures>
<!-- ... -->
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<!-- ... -->
</natures>

完成pom.xml相关基础配置。然后修改build节使maven打包时兼容之前的项目路径配置。 ecplise 打开pom.xml文件选择effective POM 视图可以看到最终打包时的pom.xml的配置。

配置在pom.xml中<build>节下的

  • <sourceDirectory>:即为java文件根目录 该路径是相对于pom.xml的相对路径
  • <testSourceDirectory> 测试java文件根目录
  • <outputDirectory> 编译后class存放路径
  • <resources><resource><directory>即为配置文件根目录
  • <finalName>maven install 后的项目名 默认为项目名-版本号
<plugins>
	<plugin>
		<groupId>org.apache.maven.plugins</groupId>
		<artifactId>maven-war-plugin</artifactId>
		<version>2.2</version>
		<configuration>
		<webXml>WebContent\WEB-INF\web.xml</webXml><!-- web.xml文件路径 -->
		<!--设置项目根目录,默认为src/main/webapp -->
		<webappDirectory>${project.basedir}\target\WebContent</webappDirectory>
		<warSourceDirectory>${project.basedir}\WebContent</warSourceDirectory>
		</configuration>
	</plugin>
	<plugin>
		<groupId>org.apache.maven.plugins</groupId>
		<artifactId>maven-compiler-plugin</artifactId>
		<!-- 指定maven打包JDK -->
		<configuration>
			<source>${java-version}</source>
			<target>${java-version}</target>
			<skip>true</skip> <!-- true:跳过测试 -->
			<encoding>UTF-8</encoding>
			<compilerArguments>
			<!-- 打包使需要添加的lib路径 -->
				<extdirs>${project.basedir}\WebContent\WEB-INF\lib</extdirs>
			</compilerArguments>
		</configuration>
	</plugin>
</plugins>

尤其注意:

  • warSourceDirectory : 项目webapp/webcontent路径
  • webappDirectory :maven打包后生成的资源路径。

这样打包出来的war就是我们想要的结构了。

然后如果是ecplise+tomcat 启动项目的话,那么如果出现tomcat下项目结构不对,可以检查下.setter/org.eclipse.wst.common.component文件

<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
    <wb-module deploy-name="ERCloud">
        <wb-resource deploy-path="/" source-path="/WebContent" tag="defaultRootSource"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/config"/>
        <wb-resource deploy-path="/WEB-INF/lib" source-path="/target/WebContent/WEB-INF/lib"/>
        <property name="java-output-path" value="/DEMO/target/WebContent/WEB-INF/classes"/>
        <property name="context-root" value="DEMO"/>
    </wb-module>
</project-modules>

转载于:https://my.oschina.net/yuyizyk/blog/1919754

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值