我在创建项目类型为pom的JAR文件时遇到了一些问题,并将此jar作为依赖项添加到其他项目中。
我使用maven阴影插件制作JAR。它编译得很好,但它在项目目标目录中创建了一个jar文件,但在.m2文件夹中却没有。而且,当我提取文件时,它没有类和资源等
这是我有两个项目
1)ProjectTestB 项目B是一个独立的项目,它有各种模块,如调度程序,服务,Web模块,它们作为依赖项添加到其他项目中
的pom.xml
<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>TestProjectB</groupId>
<artifactId>ProjectTestB</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<artifactSet>
<excludes>
<exclude>classworlds:classworlds</exclude>
<exclude>junit:junit</exclude>
<exclude>jmock:*</exclude>
<exclude>*:xml-apis</exclude>
<exclude>org.apache.maven:lib:tests</exclude>
<exclude>log4j:log4j:jar:</exclude>
</excludes>
</artifactSet>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<modules>
<module>scheduler</module>
</modules>
</project>
2)ProjectA
项目A包含ProjectB和其他一些服务和业务类的依赖项。只有Project A包含将创建可执行JAR文件的Main类
Pom.xml
<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>projectA</groupId>
<artifactId>projectA</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.1.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>TestProjectB</groupId>
<artifactId>ProjectTestB</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
所以问题是
1)如果项目包是POM(项目B),如何制作具有所有类,资源等的jar?
2)如何在Project A类路径中添加Project B jar文件来访问它的模块?
答案 0 :(得分:0)
我看到你尝试做一些奇怪的事情。
您的projectB
有许多模块,因此您的projectA
应该依赖于这些模块。 projecB
的{{1}}模块具有类型jar
,因此您可以轻松依赖它projectB