Java maven:从生成的源代码创建一个jar,并在编译之前将其作为依赖项添加
我希望包含一个jar文件,而不是添加源代码。最终的结果就像添加了一个依赖项,我的war文件在WEB-INF/lib中得到了一个额外的jar,而不是WEB-INF/classes中的额外类Java maven:从生成的源代码创建一个jar,并在编译之前将其作为依赖项添加,java,maven,Java,Maven,我希望包含一个jar文件,而不是添加源代码。最终的结果就像添加了一个依赖项,我的war文件在WEB-INF/lib中得到了一个额外的jar,而不是WEB-INF/classes中的额外类 <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.8</version>
<configuration>
<sources>
<source>target/generated-sources/wsimport</source>
</sources>
</configuration>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
</execution>
</executions>
</plugin>
org.codehaus.mojo
构建助手maven插件
1.8
目标/生成的源/wsimport
生成源
添加源
我的想法是:
步骤1)生成源
步骤2)从目标/生成的源/wsimport生成jar文件
步骤3)在编译之前将其安装到本地存储库中(mvn安装:安装文件-Dfile=MyWsImport.jar)
步骤4)添加MyWsImport.jar依赖项
步骤5)使用工作模块编译上文Peter Butkovic提到的
4.0.0
com.google.appengine.gcl
gcl-11
0.0-快照
聚甲醛
rs
ws
虽然这是可能的,但你似乎让自己的生活变得非常困难。在maven项目中,传统的做法是每个工件有一个项目,只需为要构建的jar创建一个新项目,并将其作为依赖项添加到war中,就会容易得多。你不想这样做是有原因的吗?2个项目是可以的,只要它对用户是透明的,这意味着他们可以像当前只添加源代码的设置那样进行maven编译。如果太难,我就坚持添加源代码:)只在单个项目上编译没有问题。请注意,在Maven中有依赖关系、继承性,但也有子模块。一旦你想让一个项目将其他项目作为子模块,你仍然可以构建这个项目来将所有的工作传播到它的子模块。只需谷歌一下,或者看看我现在在谷歌上搜索到的一个:是否尝试过模块,并且成功了:)
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.google.appengine.gcl</groupId>
<artifactId>gcl-11</artifactId>
<version>0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>rs</module>
<module>ws</module>
</modules>
</project>