Maven构建失败,因为出现了“Exception in thread "main" java.lang.NoClassDefFoundError: javax/crypto/spec/SecretKeySpec”错误。

3

我正在使用带有Maven的Eclipse并尝试部署我的AEM项目代码。但是我遇到了以下错误,导致构建失败:

C:\Documents\Source>mvn clean install
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] acs
[INFO] ACS - Core
[INFO] ACS - UI apps
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building acs Snapshot-Release-06-Final
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.6.1:clean (default-clean) @ acs ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.4:enforce (enforce-maven) @ acs ---
[INFO]
[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ acs ---
[INFO] Installing C:\Documents\Source\pom.
xml to C:\.m2\repository\com\acs\web\acs\Snapshot-Release-06-Fi
nal\acs-Snapshot-Release-06-Final.pom
[INFO][INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building ACS - Core Snapshot-Release-06-Final
[INFO] ------------------------------------------------------------------------
Downloading: http://repo.adobe.com/nexus/content/groups/public/org/apache/common
s/commons-imaging/1.0-SNAPSHOT/maven-metadata.xml
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] acs ................................................ SUCCESS [  1.566 s]
[INFO] ACS - Core ......................................... FAILURE [  2.216 s]
[INFO] ACS - UI apps ...................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 11.444 s
[INFO] Finished at: 2017-07-05T22:36:20-04:00
[INFO] Final Memory: 14M/154M
[INFO] ------------------------------------------------------------------------
---------------------------------------------------
constituent[0]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/b
in/../conf/logging/
constituent[1]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/b
in/../lib/aopalliance-1.0.jar
constituent[2]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/b
in/../lib/cdi-api-1.0.jar
constituent[3]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/b
in/../lib/commons-cli-1.4.jar
constituent[4]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/b
in/../lib/commons-io-2.5.jar
constituent[5]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/b
in/../lib/commons-lang3-3.5.jar
constituent[6]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/b
in/../lib/guava-20.0.jar
constituent[7]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/b
in/../lib/guice-4.0-no_aop.jar
constituent[8]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/b
in/../lib/jansi-1.13.jar
constituent[9]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/b
in/../lib/javax.inject-1.jar
constituent[10]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/jcl-over-slf4j-1.7.22.jar
constituent[11]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/jsr250-api-1.0.jar
constituent[12]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/maven-artifact-3.5.0.jar
constituent[13]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/maven-builder-support-3.5.0.jar
constituent[14]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/maven-compat-3.5.0.jar
constituent[15]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/maven-core-3.5.0.jar
constituent[16]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/maven-embedder-3.5.0.jar
constituent[17]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/maven-model-3.5.0.jar
constituent[18]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/maven-model-builder-3.5.0.jar
constituent[19]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/maven-plugin-api-3.5.0.jar
constituent[20]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/maven-repository-metadata-3.5.0.jar
constituent[21]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/maven-resolver-api-1.0.3.jar
constituent[22]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/maven-resolver-connector-basic-1.0.3.jar
constituent[23]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/maven-resolver-impl-1.0.3.jar
constituent[24]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/maven-resolver-provider-3.5.0.jar
constituent[25]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/maven-resolver-spi-1.0.3.jar
constituent[26]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/maven-resolver-transport-wagon-1.0.3.jar
constituent[27]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/maven-resolver-util-1.0.3.jar
constituent[28]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/maven-settings-3.5.0.jar
constituent[29]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/maven-settings-builder-3.5.0.jar
constituent[30]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/maven-shared-utils-3.1.0.jar
constituent[31]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/maven-slf4j-provider-3.5.0.jar
constituent[32]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/org.eclipse.sisu.inject-0.3.3.jar
constituent[33]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/org.eclipse.sisu.plexus-0.3.3.jar
constituent[34]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/plexus-cipher-1.7.jar
constituent[35]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/plexus-component-annotations-1.7.1.jar
constituent[36]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/plexus-interpolation-1.24.jar
constituent[37]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/plexus-sec-dispatcher-1.4.jar
constituent[38]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/plexus-utils-3.0.24.jar
constituent[39]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/slf4j-api-1.7.22.jar
constituent[40]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/wagon-file-2.12.jar
constituent[41]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/wagon-http-2.12-shaded.jar
constituent[42]: file:/C:/Maven/apache-maven-3.5.0-bin%20(1)/apache-maven-3.5.0/
bin/../lib/wagon-provider-api-2.12.jar
---------------------------------------------------
Exception in thread "main" java.lang.NoClassDefFoundError: javax/crypto/spec/Sec
retKeySpec
        at sun.security.ssl.CipherSuite$BulkCipher.isAvailable(CipherSuite.java:
507)
        at sun.security.ssl.CipherSuite$BulkCipher.isAvailable(CipherSuite.java:
489)
        at sun.security.ssl.CipherSuite.isAvailable(CipherSuite.java:194)
        at sun.security.ssl.SSLContextImpl.getApplicableCipherSuiteList(SSLConte
xtImpl.java:338)
        at sun.security.ssl.SSLContextImpl.getDefaultCipherSuiteList(SSLContextI
mpl.java:296)
        at sun.security.ssl.SSLSocketImpl.init(SSLSocketImpl.java:583)
        at sun.security.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:547)
        at sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryIm
pl.java:109)
        at org.apache.maven.wagon.providers.http.httpclient.conn.ssl.SSLConnecti
onSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:363)
        at org.apache.maven.wagon.providers.http.httpclient.conn.ssl.SSLConnecti
onSocketFactory.connectSocket(SSLConnectionSocketFactory.java:353)
        at org.apache.maven.wagon.providers.http.httpclient.impl.conn.DefaultHtt
pClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:141)
        at org.apache.maven.wagon.providers.http.httpclient.impl.conn.PoolingHtt
pClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)
        at org.apache.maven.wagon.providers.http.httpclient.impl.execchain.MainC
lientExec.establishRoute(MainClientExec.java:380)
        at org.apache.maven.wagon.providers.http.httpclient.impl.execchain.MainC
lientExec.execute(MainClientExec.java:236)
        at org.apache.maven.wagon.providers.http.httpclient.impl.execchain.Proto
colExec.execute(ProtocolExec.java:184)
        at org.apache.maven.wagon.providers.http.httpclient.impl.execchain.Retry
Exec.execute(RetryExec.java:88)
        at org.apache.maven.wagon.providers.http.httpclient.impl.execchain.Redir
ectExec.execute(RedirectExec.java:110)
        at org.apache.maven.wagon.providers.http.httpclient.impl.client.Internal
HttpClient.doExecute(InternalHttpClient.java:184)
        at org.apache.maven.wagon.providers.http.httpclient.impl.client.Closeabl
eHttpClient.execute(CloseableHttpClient.java:82)
        at org.apache.maven.wagon.providers.http.AbstractHttpClientWagon.execute
(AbstractHttpClientWagon.java:834)
        at org.apache.maven.wagon.providers.http.AbstractHttpClientWagon.fillInp
utData(AbstractHttpClientWagon.java:985)
        at org.apache.maven.wagon.providers.http.AbstractHttpClientWagon.fillInp
utData(AbstractHttpClientWagon.java:962)
        at org.apache.maven.wagon.StreamWagon.getInputStream(StreamWagon.java:12
6)
        at org.apache.maven.wagon.StreamWagon.getIfNewer(StreamWagon.java:88)
        at org.apache.maven.wagon.StreamWagon.get(StreamWagon.java:61)
        at org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner.run
(WagonTransporter.java:569)
        at org.eclipse.aether.transport.wagon.WagonTransporter.execute(WagonTran
sporter.java:436)
        at org.eclipse.aether.transport.wagon.WagonTransporter.get(WagonTranspor
ter.java:413)
        at org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRu
nner.runTask(BasicRepositoryConnector.java:456)
        at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunne
r.run(BasicRepositoryConnector.java:359)
        at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(Runn
ableErrorForwarder.java:76)
        at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExe
cutor.execute(BasicRepositoryConnector.java:590)
        at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(Basic
RepositoryConnector.java:231)
        at org.eclipse.aether.internal.impl.DefaultMetadataResolver$ResolveTask.
run(DefaultMetadataResolver.java:616)
        at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(Runn
ableErrorForwarder.java:76)
        at org.eclipse.aether.internal.impl.DefaultMetadataResolver$1.execute(De
faultMetadataResolver.java:536)
        at org.eclipse.aether.internal.impl.DefaultMetadataResolver.resolve(Defa
ultMetadataResolver.java:391)
        at org.eclipse.aether.internal.impl.DefaultMetadataResolver.resolveMetad
ata(DefaultMetadataResolver.java:214)
        at org.apache.maven.repository.internal.DefaultVersionResolver.resolveVe
rsion(DefaultVersionResolver.java:238)
        at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.
loadPom(DefaultArtifactDescriptorReader.java:232)
        at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.
readArtifactDescriptor(DefaultArtifactDescriptorReader.java:199)
        at org.eclipse.aether.internal.impl.DefaultDependencyCollector.resolveCa
chedArtifactDescriptor(DefaultDependencyCollector.java:544)
        at org.eclipse.aether.internal.impl.DefaultDependencyCollector.getArtifa
ctDescriptorResult(DefaultDependencyCollector.java:528)
        at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDe
pendency(DefaultDependencyCollector.java:418)
        at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDe
pendency(DefaultDependencyCollector.java:372)
        at org.eclipse.aether.internal.impl.DefaultDependencyCollector.process(D
efaultDependencyCollector.java:360)
        at org.eclipse.aether.internal.impl.DefaultDependencyCollector.doRecurse
(DefaultDependencyCollector.java:513)
        at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDe
pendency(DefaultDependencyCollector.java:467)
        at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDe
pendency(DefaultDependencyCollector.java:372)
        at org.eclipse.aether.internal.impl.DefaultDependencyCollector.process(D
efaultDependencyCollector.java:360)
        at org.eclipse.aether.internal.impl.DefaultDependencyCollector.collectDe
pendencies(DefaultDependencyCollector.java:263)
        at org.eclipse.aether.internal.impl.DefaultRepositorySystem.collectDepen
dencies(DefaultRepositorySystem.java:325)
        at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(D
efaultProjectDependenciesResolver.java:169)
        at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDe
pendencies(LifecycleDependencyResolver.java:195)
        at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resol
veProjectDependencies(LifecycleDependencyResolver.java:127)
        at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAr
eResolved(MojoExecutor.java:246)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:200)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:154)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:146)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje
ct(LifecycleModuleBuilder.java:117)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje
ct(LifecycleModuleBuilder.java:81)
        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThre
adedBuilder.build(SingleThreadedBuilder.java:51)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifecycl
eStarter.java:128)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:309)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:194)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:107)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:993)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:345)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:191)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Laun
cher.java:289)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.jav
a:229)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(La
uncher.java:415)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:
356)

有人知道如何解决这个错误吗?

我在这里找到了一些参考资料- ref1ref2,但不确定如何在Maven和Eclipse中应用它们。

谢谢!


javax/crypto/spec/SecretKeySpec <-- 你是否在使用它,并且确认已正确下载和导入了使用它的正确包? - Araymer
我不认为我们在使用它。我在我的项目中没有看到它出现过。 - Sara
那很可能是你正在使用的某个东西的依赖项。这很可能意味着版本冲突。你需要进行一些研究。 - Araymer
你的项目可能没有直接使用它,但是在AEM中会用到它。如果你正在编译针对认证处理程序API或ACS-Commons中的某些插件的代码,那么很可能你缺少依赖项。尝试在AEM包中查找这个Java类,并添加相关的Maven依赖项。另外,你不会碰巧使用openJDK吧? - Imran Saeed
不,不使用openJdk。 - Sara
该jar文件缺少依赖项。已解决,但现在出现了新的错误。希望有人能帮忙解决。[ERROR] 无法执行org.apache.felix:maven-scr-plugin:1.20.0:scr(generate-scr-scrdescriptor)目标于项目acs.core:目标org.apache.felix:maven-scr-plugin:1.20.0:scr的执行generate-scr-scrdescriptor失败:无法为输出方法“xml”加载属性文件“output_xml.properties”(请检查CLASSPATH)-> [Help 1] - Sara
2个回答

3
该jar文件的依赖项缺失。
<dependency>
    <groupId>javax.xml.crypto</groupId>
    <artifactId>jsr105-api</artifactId>
    <version>1.0.1</version>
</dependency>

添加了上述依赖项后,错误得到了解决。

接受此答案为您自己的答案,以便其他人在看到此问题时知道如何解决。 - Imran Saeed

1
对我来说,这是由于在运行Eclipse时缺少权限。 以管理员身份启动(Win10)解决了我的问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接