我有一个maven项目,除了使用普通的repos还使用本地jar.jar以清单的方式定义:
<dependency>
<groupId>com.mirrorworlds</groupId>
<artifactId>lstnef</artifactId>
<version>1.0.0</version>
<optional>false</optional>
<scope>system</scope>
<systemPath>${basedir}/lib/lstnef-1.0.0.jar</systemPath>
</dependency>
Run Code Online (Sandbox Code Playgroud)
安装脚本成功运行,但在应用程序启动后,我得到了这个:
Exception in thread "main" java.lang.NoClassDefFoundError:
com/mirrorworlds/lifestreams/mail/tnef/internet/TnefMultipart
at ...processMails(MailProcessor.java:57)
at ...main(MailReader.java:42)
Run Code Online (Sandbox Code Playgroud)
当我查看目标jar时,我也找不到这些类,尽管它们应该在里面 lstnef-1.0.0.jar
我会感谢任何解决这个谜团的建议.
检查Maven文档:http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope
system
This scope is similar to provided except that you have to provide the JAR which contains it explicitly. The artifact is always available and is not looked up in a repository.
Run Code Online (Sandbox Code Playgroud)
您需要自己手动将此JAR提供给运行时环境.
或者,我会推荐这种方法,设置你自己的存储库,你可以添加JARS并以正常的maven方式管理它们
| 归档时间: |
|
| 查看次数: |
1846 次 |
| 最近记录: |