Java jcabi乙醚基本示例不';行不通
在jcabi-ether上,有一个简单的例子可以在Maven之外使用,它声称只需要一个Maven依赖项(jcabi-ether 0.9)。我已经为那个“主要”创建了一个项目,只是想尝试一下,但它似乎有一些,嗯,困难Java jcabi乙醚基本示例不';行不通,java,maven,jcabi,Java,Maven,Jcabi,在jcabi-ether上,有一个简单的例子可以在Maven之外使用,它声称只需要一个Maven依赖项(jcabi-ether 0.9)。我已经为那个“主要”创建了一个项目,只是想尝试一下,但它似乎有一些,嗯,困难 public class Main { public static void main(String[] args) { File local = new File("/tmp/local-repository"); Collection<RemoteRep
public class Main {
public static void main(String[] args) {
File local = new File("/tmp/local-repository");
Collection<RemoteRepository> remotes = Arrays.asList(
new RemoteRepository(
"maven-central",
"default",
"http://repo1.maven.org/maven2/"
)
);
Collection<Artifact> deps = new Aether(remotes, local).resolve( // #1
new DefaultArtifact("junit", "junit-dep", "", "jar", "4.10"),
"runtime"
);
}
}
嗯,好的,我还将加入maven设置生成器(3.3.2)。现在我们可以走了。。。正确的?不,这次,我得到了大量的异常输出,如下所示:
java.lang.instrument.IllegalClassFormatException: Error while instrumenting class com/jcabi/aether/Aether.
at org.jacoco.agent.rt.internal_9dd1198.CoverageTransformer.transform(CoverageTransformer.java:89)
at sun.instrument.TransformerManager.transform(TransformerManager.java:169)
at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:365)
别误会我。听起来是个很棒的项目。但它真的有效吗?头版的例子是怎么回事?有人对此有经验吗?从jcabi-ether at的github代码可以看出,我们确实需要添加以下两个依赖项:
<dependency>
<groupId>com.jcabi</groupId>
<artifactId>jcabi-aether</artifactId>
<version>0.10</version>
</dependency>
<dependency>
<groupId>org.sonatype.aether</groupId>
<artifactId>aether-api</artifactId>
<version>1.13.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.0.3</version>
</dependency>
- 以太:以太api:1.13.1
- org.apache.maven:maven核心:3.0.3
import java.io.File;
import java.util.Arrays;
import java.util.Collection;
import org.sonatype.aether.artifact.Artifact;
import org.sonatype.aether.repository.RemoteRepository;
import org.sonatype.aether.resolution.DependencyResolutionException;
import org.sonatype.aether.util.artifact.DefaultArtifact;
import com.jcabi.aether.Aether;
public class RunAether {
public static void main(String[] args) throws DependencyResolutionException {
File local = new File("/tmp/local-repository");
Collection<RemoteRepository> remotes = Arrays.asList(
new RemoteRepository(
"maven-central",
"default",
"http://repo1.maven.org/maven2/"
)
);
Collection<Artifact> deps = new Aether(remotes, local).resolve(
new DefaultArtifact("junit", "junit-dep", "", "jar", "4.10"),
"runtime"
);
System.out.println("Got the Junit dependencies");
}
}
导入java.io.File;
导入java.util.array;
导入java.util.Collection;
导入org.sonatype.ether.artifact.artifact;
导入org.sonatype.ether.repository.RemoteRepository;
导入org.sonatype.ether.resolution.dependencResolutionException;
导入org.sonatype.ether.util.artifact.DefaultArtifact;
导入com.jcabi.ether.ether;
公共级运行醚{
公共静态void main(字符串[]args)引发DependencyResolutionException{
File local=新文件(“/tmp/local repository”);
Collection remotes=Arrays.asList(
新远程存储库(
“马文中心”,
“默认”,
"http://repo1.maven.org/maven2/"
)
);
收集deps=新的以太(远程、本地)。解析(
新的DefaultArtifact(“junit”、“junit dep”、“jar”、“4.10”),
“运行时”
);
println(“获取Junit依赖项”);
}
}
我的pom文件依赖项:
<dependency>
<groupId>com.jcabi</groupId>
<artifactId>jcabi-aether</artifactId>
<version>0.10</version>
</dependency>
<dependency>
<groupId>org.sonatype.aether</groupId>
<artifactId>aether-api</artifactId>
<version>1.13.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.0.3</version>
</dependency>
com.jcabi
乙醚
0.10
org.sonatype.ether
乙醚原料药
1.13.1
org.apache.maven
马文堆芯
3.0.3
您的java版本是什么?编译和运行时编译时和运行时都是一样的吗?是的。使用Eclipse构建和启动。@TimW这可能是jacoco的问题。我是jcabi乙醚的创建者,请在这里创建一张罚单,这很容易成为图书馆中的一个bug。我只是想知道有没有找到解决这个问题的方法??我似乎在问题链接上找不到任何东西。