所以我创建了一个放大器项目,包括repo和share,每次我尝试构建或运行项目时都失败了:
java.lang.NoClassDefFoundError: de/schlichtherle/truezip/fs/FsSyncExceptionBuilder
at de.schlichtherle.truezip.fs.FsManager.sync(FsManager.java:99)
at de.schlichtherle.truezip.fs.FsSyncShutdownHook$Hook.run(FsSyncShutdownHook.java:93)
Caused by: java.lang.ClassNotFoundException: de.schlichtherle.truezip.fs.FsSyncExceptionBuilder
at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
... 2 more
的pom.xml
<project [...]>
<modelVersion>4.0.0</modelVersion>
<groupId>com.someco</groupId>
<artifactId>someco-repo</artifactId>
<version>1.0.0-SNAPSHOT</version>
<name>someco-repo AMP project</name>
<packaging>amp</packaging>
[...]
<parent>
<groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-parent</artifactId>
<version>1.1.1</version> // same with 1.1.0
</parent>
将模块版本从1.0.0-SNAPSHOT
更改为1.0.0
有效,但我无法使用快照(或至少将其标识为-SNAPSHOT
)。
有什么想法吗?
答案 0 :(得分:3)
这实际上应该有效。所以我想知道你的环境中是否有一些奇怪的东西。您是否有机会删除该库的本地副本(~/.m2/repository/de/schlichterle/truezip
)并重试?
我想知道你的版本是否已损坏。
听起来很奇怪,但是当你改变版本时它会起作用......
答案 1 :(得分:1)
我遇到了同样的错误。
我曾经一直以maven身份运行maven。
我尝试删除~/.m2/repository/de/schlichterle/truezip
。这没有用。
然后我删除了目标目录,其中包含root用户拥有的一些文件。我不完全理解为什么要修复它,但确实如此。
再次运行maven后,~/.m2/repository/de/schlichterle/truezip
目录仍然不存在,但显然不需要它,因为一切正常。
答案 2 :(得分:0)
当file-mapping.properties
中指定的映射不正确(不能由alfresco maven解析)时,则抛出此错误。
我不确定为什么它无法解析映射。 但它会引发错误:
web/=/
但不是:
/web/=/
答案 3 :(得分:0)
错误日志显示:
java.lang.NoClassDefFoundError
这意味着代码中缺少一个类。您正在使用Alfresco,这意味着您缺少依赖项。 Jeff Pott的教程现在有点过时了。
您需要在pom.xml
文件中添加truezip
,truezip-driver
和truezip-file
的相关性。然后,重新运行并运行。
答案 4 :(得分:0)
您需要将TrueZIP Maven Plugin依赖项及其drivers添加到pom.xml
文件中,例如
...
<dependencies>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>truezip-maven-plugin</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>de.schlichtherle.truezip</groupId>
<artifactId>truezip-driver-file</artifactId>
<version>7.7.9</version>
</dependency>
<dependency>
<groupId>de.schlichtherle.truezip</groupId>
<artifactId>truezip-kernel</artifactId>
<version>7.7.9</version>
</dependency>
<dependency>
<groupId>de.schlichtherle.truezip</groupId>
<artifactId>truezip-driver-zip</artifactId>
<version>7.7.9</version>
</dependency>
</dependencies>
...
要进一步调试,请尝试为-X
命令添加mvn
标志。