JAR lib 폴더 아래에 복사 된 모든 종속성이있는 JAR을 실행하려고했습니다.클래스 정의가 없습니다. jar 명령 행 실행시 오류가 발생했습니다.
abc.jar --- lib 디렉토리 \ 모든 종속 라이브러리 --- 닷컴 \ ABC 방송 : 나는 JAR 명령 줄을 실행하려고 할 때하지만 오류가 여기에
at com.abc<clinit>(abc.java:33)Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
아래 얻고 있었다 나의 JAR 구조입니다 --- META-INF
여기 항아리에 포함 된 단지를로드 할 수 없습니다
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<useUniqueVersions>false</useUniqueVersions>
<mainClass>com.main.class</mainClass>
<classpathPrefix>./lib/</classpathPrefix>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/classes/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>