2016-08-12 3 views
2

Netbeansでsrcを1つのjarファイルにコンパイルしようとしています。私は現在DependeciesでBuildを右クリックしてコンパイルします。私はそれがcom.github.scribejavaを見つけるとライブラリをcom.drewnoakesすることはできません出力jarファイルを実行するとここに私のPOMファイルmavenを使って1つのjar(実行可能なjar)にJavaコードと依存関係を結合します。

<?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>ca.osmcanada</groupId> 
    <artifactId>OSVUploadr</artifactId> 
    <version>0.1-ALPHA</version> 
    <packaging>jar</packaging> 
    <dependencies> 
    <dependency> 
     <groupId>com.github.scribejava</groupId> 
     <artifactId>scribejava-apis</artifactId> 
     <version>2.8.1</version> 
    </dependency> 
     <dependency> 
      <groupId>com.drewnoakes</groupId> 
      <artifactId>metadata-extractor</artifactId> 
      <version>2.9.1</version> 
     </dependency> 
    </dependencies> 
    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <maven.compiler.source>1.8</maven.compiler.source> 
     <maven.compiler.target>1.8</maven.compiler.target> 
    </properties> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-jar-plugin</artifactId> 
       <version>3.0.2</version> 
       <configuration> 
        <archive> 
         <manifest> 
          <mainClass>ca.osmcanada.osvuploadr.JFMain</mainClass> 
         </manifest> 
        </archive> 
       </configuration> 
      </plugin>    
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <version>2.6</version> 
       <configuration> 
        <archive> 
         <manifest> 
          <mainClass>ca.osmcanada.osvuploadr.JFMain</mainClass> 
         </manifest> 
        </archive> 
        <descriptorRefs> 
         <descriptorRef>jar-with-dependencies</descriptorRef> 
        </descriptorRefs> 
        <executions> 
         <execution> 
          <id>make-assembly</id> <!-- this is used for inheritance merges --> 
          <phase>package</phase> <!-- bind to the packaging phase --> 
          <goals> 
           <goal>single</goal> 
          </goals> 
         </execution> 
        </executions> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

です。また、私がmaven-jar-pluginを使用しない場合、メインクラスはmeta-inf/manifest.mfに追加されません。私は間違って何をしているのですか?

+0

を私はあなたがMavenのバージョンを使用していると仮定3+ –

答えて

0
  • 以下のように、Mavenのアセンブリ・プラグインの構成タグの外に実行タグを入れて:

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.6</version> <configuration> <archive> <manifest> <mainClass>ca.osmcanada.osvuploadr.JFMain</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin>

関連する問題