2016-05-03 129 views
0

我在製作JAR文件時遇到了一些問題,哪些項目類型是pom,並將其作爲依賴項添加到其他項目中。使用maven插件創建jar文件

我使用maven shaded插件來製作JAR。它編譯得很好,但它在項目目標目錄中創建了一個jar文件,但不在.m2文件夾中。此外,當我解壓文件時,它沒有類和資源等

這裏有兩個項目我已經

1)ProjectTestB 項目B所具有的各種模塊,如調度一個獨立的項目,服務,網絡模塊,增加了作爲依賴於其他項目

的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)項目A

項目A包含項目B和其他一些服務和業務類的依賴。只有A計劃包含主類,它會創建可執行的JAR文件

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)?

2)如何在項目中添加項目B jar文件類路徑來訪問它的模塊?

回答

0

正如我看到你嘗試做一些奇怪的事情。

您的projectB有很多模塊,所以您的projectA應該依賴於這些模塊。 projecB模塊projecB有型號jar,所以你可以放心依賴它而不用做魔術projectB

相關問題