我目前正在构建一个小型的Apache-Mina Server应用程序.我正在使用Maven来构建它.当我尝试运行jar时,我收到以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/mina/filter/codec/ProtocolCodecFactory
Caused by: java.lang.ClassNotFoundException: org.apache.mina.filter.codec.Protoc olCodecFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: de.fr1zle.gpsserver.GpsServer. Program will exit.
Run Code Online (Sandbox Code Playgroud)
在日食中运行不是问题.
这就是生成的MANIFEST的样子:
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: fr1zle
Build-Jdk: 1.6.0_23
Main-Class: de.fr1zle.gpsserver.GpsServer
Class-Path: commons-lang-2.1.jar plexus-utils-1.1.jar junit-4.8.2.jar
log4j-1.2.14.jar slf4j-jdk14-1.5.11.jar slf4j-api-1.5.11.jar antlr-2.
7.6.jar commons-collections-3.1.jar dom4j-1.6.1.jar hibernate-commons
-annotations-3.2.0.Final.jar hibernate-jpa-2.0-api-1.0.0.Final.jar jt
a-1.1.jar hibernate-annotations-3.5.6-Final.jar hibernate-core-3.5.6-
Final.jar mysql-connector-java-5.1.15.jar mina-core-2.0.3.jar
Run Code Online (Sandbox Code Playgroud)
这是我的pom.xml(的一部分):
<groupId>de.fr1zle.gpsserver</groupId>
<artifactId>GPSServer</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>GPSServer</name>
<packaging>jar</packaging>
<description>Tracks …Run Code Online (Sandbox Code Playgroud) 有没有办法告诉maven继续构建虽然缺少依赖?我尝试过,<optional>true</optional>但在这种情况下似乎没有这样做.
我已经为包阶段构建了一个costum Maven插件,即使找不到一个或多个依赖项,它仍然需要打包.
提前致谢.