0

所以我试图导入Unirest for java来发出简单的 http 请求。现在我遇到了关于 Apache 依赖项的重复依赖项的警告。我首先想到通过将其添加到 build.grandle 来解决这个问题:

packagingOptions {
    exclude 'META-INF/DEPENDENCIES'
    exclude 'META-INF/NOTICE'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/LICENSE.txt'
    exclude 'META-INF/NOTICE.txt'
}

这确实让它运行了,但是一旦我使用了 Unirest 的任何功能,它仍然会崩溃。于是回到google来到了这个帖子唯一的答案指向我决定遵循的本教程。所以我下载了mvn。首先在 JAVA_HOME 上遇到了一些问题,但设置正确。然后我像他一样做了:mvn clean assembly:assembly编辑 pom.xml 后在 github 目录的主文件夹中执行

但是,对我来说,它并没有像他那样生成 .jar 文件。

我究竟做错了什么?有人可以为我创建它吗:)?

我确实得到了一个target应有的文件夹,cmd它正在下载一堆文件,但没有 .jar 文件。

在 Target 文件夹中,我有 4 个子文件夹:classes、maven-status、surefire-reports、test-classes。

一些堆栈跟踪:在 cmd

Failed tests:   testPostRawBody(com.mashape.unirest.test.http.UnirestTest): expe
cted:<'"@[?????]-test-123-0.01090655...> but was:<'"@[?????]-test-123-0.01090655
...>

Tests run: 36, Failures: 1, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 22.502 s
[INFO] Finished at: 2015-05-17T21:46:52+02:00
[INFO] Final Memory: 21M/178M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.
12.4:test (default-test) on project unirest-java: There are test failures.
[ERROR]
[ERROR] Please refer to C:\Users\Ruud\Downloads\unirest-java-master\unirest-java
-master\target\surefire-reports for the individual test results.
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit
ch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please rea
d the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureExc
eption

然后在文件中它指的是:

-------------------------------------------------------------------------------
Test set: com.mashape.unirest.test.http.UnirestTest
-------------------------------------------------------------------------------
Tests run: 36, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 17.855 sec <<< FAILURE!
testPostRawBody(com.mashape.unirest.test.http.UnirestTest)  Time elapsed: 0.122 sec  <<< FAILURE!
org.junit.ComparisonFailure: expected:<'"@[?????]-test-123-0.01090655...> but was:<'"@[?????]-test-123-0.01090655...>
    at org.junit.Assert.assertEquals(Assert.java:115)
    at org.junit.Assert.assertEquals(Assert.java:144)
    at com.mashape.unirest.test.http.UnirestTest.testPostRawBody(UnirestTest.java:151)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
    at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
    at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
    at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
    at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
    at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
    at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)

在窗户上运行。

4

1 回答 1

0

在尝试构建具有依赖项的 jar 文件时,我遇到了同样的问题。尝试运行修改后的 mvn 命令但跳过测试

mvn clean assembly:assembly -Dmaven.test.skip=true

这对我有用。另请查看https://github.com/Mashape/unirest-java/issues/52

于 2015-11-22T19:59:59.320 回答