我有一个包装战争的项目(A)。另一个项目(B)依赖于A,它需要项目A jar文件,但在编译阶段,项目A的战争将产生,项目B没有可用的罐子。 如何在阶段中创建项目A的jar编译以便项目B可以使用它?我可以在maven中同时生成jar和一个项目的war吗?
0
A
回答
0
我找到了解决办法::)
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>make-a-jar</id>
<phase>compile</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>install-file</goal>
</goals>
<configuration>
<packaging>jar</packaging>
<artifactId>${project.artifactId}</artifactId>
<groupId>${project.groupId}</groupId>
<version>${project.version}</version>
<file>
${project.build.directory}/${project.artifactId}-${project.version}.jar
</file>
</configuration>
</execution>
</executions>
</plugin>
2
我建议去一个不同的方式,并使用maven-war-plugin which can produce a separate artifact for the classes它可以像下面这样使用:
<dependency>
<groupId>myGroup</groupId>
<artifactId>myArtifact</artifactId>
<version>myVersion</myVersion>
<classifier>classes</classifier>
</dependency>
这可能是通过在战争模块中使用以下配置实现:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<attachClasses>true</attachClasses>
</configuration>
</plugin>
...
</plugins>
相关问题
- 1. Maven - 生成Jar和War
- 2. 是否有可能创建一个相同的Maven项目的WAR和JAR
- 3. 我可以在同一个Maven项目中动态生成和引用源文件中的类吗?
- 4. 为什么maven-war-plugin会生成一个JAR而不是WAR?
- 5. 使用Maven从一个项目中生成多个War
- 6. 我可以在_every_项目的同一目录中禁用obj的生成吗?
- 7. maven项目依赖项是一个生成的jar(不在maven仓库中)
- 8. 如何在项目中生成jar和war
- 9. 在maven生成的war中包含外部的eclipse项目作为jar
- 10. 将JAR Maven项目包含到WAR Maven项目中
- 11. ASDoc可以同时为AIR和Flash项目生成文档吗?
- 12. 我可以在同一个项目中使用RxAndroidBle和RxJava2吗?
- 13. 使用相同的maven项目生成两个jar
- 14. 我可以在同一个项目中生成JPA元模型和QueryDSL模型
- 15. 为maven生成一个jar
- 16. 可以将多个项目的Gradle jar放入一个jar吗?
- 17. maven多模块项目:我可以jar-with-dependencies吗?
- 18. 我可以在一个项目中同时使用CakePHP和Prado吗?
- 19. 在同一个项目中使用gradle war和ear插件可能/明智吗?
- 20. 我可以在非爆炸WAR中的JAR内获得URLConnection吗?
- 21. 用Maven,Tomcat 7和Websocket构建一个可执行的War/Jar
- 22. 在同一个项目中可以使用Drupal Commerce和Ubercart吗?
- 23. 可以在同一个Python项目pipenv和setuptools中共存吗?
- 24. Maven:如何在两个文件夹中生成项目的war文件
- 25. 如何从同一个Maven项目生成不同的可部署?
- 26. 我可以使用maven从Maven中心下载一个jar文件吗?
- 27. 我可以在单个项目中同时使用Django和Rest Framework视图吗?
- 28. 我可以制作一个Maven插件来生成一个项目,然后构建该项目?
- 29. 我可以通过pom.xml将Aspect J jar添加到Maven项目中吗?
- 30. 使用jar command.is将war解压到一个目录可能吗?
我会说你发现了一个黑客,但不是一个解决方案;-) – khmarbaise
我同意khmarbaise。使用war插件的'attachClasses'选项更清晰。默认情况下,它还附加工件的类(类似于sources和javadoc),以清除它不是模块的主要输出。 当然,最好创建一个战争项目和其他项目共同的新模块。全部取决于具体情况。 – Mikezx6r