2014-04-23 19 views
5

Tôi gặp vấn đề khi thực thi một cái bình.Java + Maven + tạo jar thực thi + Ngoại lệ trong chuỗi "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory

Khi tôi làm:

mvn package 

tôi nhận jar của tôi trong thư mục đích nhưng tôi nhận được một NoClassDefFoundError trên LoggerFactory của slf4j api khi tôi muốn chạy nó.

Đây là pom.xml của tôi:

<?xml version="1.0"?> 
<dependencies> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-simple</artifactId> 
     <version>1.7.6</version> 
     <type>jar</type> 
    </dependency> 
    <dependency> 
     <groupId>ch.qos.logback</groupId> 
     <artifactId>logback-classic</artifactId> 
     <version>1.1.1</version> 
    </dependency> 
</dependencies> 

<build> 
    <pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.1</version> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-jar-plugin</artifactId> 
       <configuration> 
        <archive> 
         <manifest> 
          <mainClass>org.t0tec.main.Start</mainClass> 
         </manifest> 
        </archive> 
       </configuration> 
      </plugin> 
      <plugin> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <executions> 
        <execution> 
         <phase>package</phase> 
         <goals> 
          <goal>single</goal> 
         </goals> 
        </execution> 
       </executions> 
       <configuration> 
        <descriptorRefs> 
         <descriptorRef>jar-with-dependencies</descriptorRef> 
        </descriptorRefs> 
       </configuration> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
</build> 
</project> 

Bất cứ ý tưởng gì là sai với cấu hình?

+0

bạn đã tìm thấy một giải pháp? Tôi đang đối mặt với cùng một vấn đề – malarres

+1

Tôi khuyên bạn nên sử dụng https://maven.apache.org/plugins/maven-shade-plugin/ để làm cho bình của bạn có phụ thuộc. Tôi giải quyết nó bằng cách nào đó bằng cách sử dụng lắp ráp maven: https://github.com/t0tec/racing-2D/blob/master/desktop-app/racingDesktop/pom.xml – t0tec

+0

cảm ơn tôi sẽ cung cấp cho nó một thử – malarres

Trả lời

0

Bạn cần phải thêm slf4j-api

<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-api</artifactId> 
    <version>1.7.6</version> 
</dependency> 
+3

Tôi đã thêm sự phụ thuộc và làm sạch dự án và thực hiện cập nhật maven nhưng vẫn là lỗi tương tự. – t0tec

Các vấn đề liên quan