2016-12-02 20 views
0

ここにpom.xmlがあります。 NetBeansで生成されたJarは、IDEから実行されても実行されません

<?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.mycompany</groupId> 
<artifactId>TimeTrackerWithMaven</artifactId> 
<version>1.0-SNAPSHOT</version> 
<packaging>jar</packaging> 
<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> 
    <java.version>1.8</java.version> 
</properties> 
<build> 
    <plugins> 
     <plugin> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-maven-plugin</artifactId> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <version>2.4</version> 
      <configuration> 
       <archive> 
        <manifest> 
         <addClasspath>true</addClasspath> 
         <mainClass>com.mycompany.timetrackerwithmaven.Main</mainClass> 
        </manifest> 
       </archive> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.jacoco</groupId> 
      <artifactId>jacoco-maven-plugin</artifactId> 
      <version>0.7.4.201502262128</version> 
      <executions> 
       <execution> 
        <goals> 
         <goal>prepare-agent</goal> 
        </goals> 
       </execution> 
       <execution> 
        <id>report</id> 
        <phase>prepare-package</phase> 
        <goals> 
         <goal>report</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 
<dependencies> 
    <dependency> 
     <groupId>org.mockito</groupId> 
     <artifactId>mockito-core</artifactId> 
     <version>2.0.31-beta</version> 
    </dependency> 
    <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-io --> 
    <dependency> 
     <groupId>org.apache.commons</groupId> 
     <artifactId>commons-io</artifactId> 
     <version>1.3.2</version> 
    </dependency> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.12</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-core</artifactId> 
     <version>4.2.4.RELEASE</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-test</artifactId> 
     <version>4.2.4.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-beans</artifactId> 
     <version>4.2.4.RELEASE</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-context</artifactId> 
     <version>4.2.4.RELEASE</version> 
    </dependency> 

    <dependency> 
     <groupId>com.google.code.gson</groupId> 
     <artifactId>gson</artifactId> 
     <version>2.4</version> 
    </dependency> 
    <dependency> 
     <groupId>com.google.guava</groupId> 
     <artifactId>guava</artifactId> 
     <version>19.0-rc2</version> 
    </dependency> 
    <dependency> 
     <groupId>com.google.collections</groupId> 
     <artifactId>google-collections</artifactId> 
     <version>1.0</version> 
    </dependency> 
    <dependency> 
     <groupId>net.java.dev.jna</groupId> 
     <artifactId>jna</artifactId> 
     <version>4.1.0</version> 
    </dependency> 
    <dependency> 
     <groupId>net.java.dev.jna</groupId> 
     <artifactId>platform</artifactId> 
     <version>3.5.2</version> 
    </dependency> 
</dependencies> 
<name>TimeTrackerWithMavenDevelopment</name> 
は、ここで生成された瓶の私のMANIFEST.MFです。

Manifest-Version: 1.0 
Archiver-Version: Plexus Archiver 
Built-By: Blackstorm 
Class-Path: mockito-core-2.0.31-beta.jar byte-buddy-0.6.14.jar objenes 
is-2.1.jar commons-io-1.3.2.jar junit-4.12.jar hamcrest-core-1.3.jar 
spring-core-4.2.4.RELEASE.jar commons-logging-1.2.jar spring-test-4.2 
.4.RELEASE.jar spring-beans-4.2.4.RELEASE.jar spring-context-4.2.4.RE 
LEASE.jar spring-aop-4.2.4.RELEASE.jar aopalliance-1.0.jar spring-exp 
ression-4.2.4.RELEASE.jar gson-2.4.jar guava-19.0-rc2.jar google-coll 
ections-1.0.jar jna-4.1.0.jar platform-3.5.2.jar 
Created-By: Apache Maven 3.0.5 
Build-Jdk: 1.8.0_101 
Main-Class: com.mycompany.timetrackerwithmaven.Main 

私は "TimeTrackerWithMaven-1.0-SNAPSHOT.jarに-jar javaの" と私のコードを実行すると、私は次のエラーを取得します。

java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Unknown Source) at java.lang.Class.privateGetMethodRecursive(Unknown Source) at java.lang.Class.getMethod0(Unknown Source) at java.lang.Class.getMethod(Unknown Source) at sun.launcher.LauncherHelper.validateMainClass(Unknown Source) at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source) Caused by: java.lang.ClassNotFoundException: org.springframework.context.ApplicationContext at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 7 more Error: A JNI error has occurred, please check your installation and try again Exception in thread "main"

答えて

1

出力ジャーには必要なライブラリが含まれていないため、クラスパスに依存関係が見つかりません。それを解決するには、それらをクラスパスに含めるか(出力のjarファイルと同じフォルダに置くか、自動化するためのプラグインがいくつかあるかもしれませんが、これはgiidの考えのようには見えません)大量の依存関係jarで汚染され、整理しないようにする)、またはmaven-shade-pluginを使用してそれらの依存関係を出力jarにマージします。

+0

私はあなたの平均を理解していません。 – aircraft

+0

@aircraftこのような苦情は役に立たないでしょう。あなたが私のアンカーを理解することに問題があるなら、あなたが何を混乱させるかを指摘するべきです。このquesionがかなりの間非アクティブだったのであなたはそれについて尋ねるために別個の質問を開くかもしれません。 – glee8e

関連する問題