Skip to content
This repository has been archived by the owner on Dec 23, 2023. It is now read-only.

Examples: Maven build is broken under JDK 1.8. #1941

Closed
songy23 opened this issue Jun 18, 2019 · 4 comments
Closed

Examples: Maven build is broken under JDK 1.8. #1941

songy23 opened this issue Jun 18, 2019 · 4 comments

Comments

@songy23
Copy link
Contributor

songy23 commented Jun 18, 2019

Please answer these questions before submitting a bug report.

What version of OpenCensus are you using?

Confirmed all versions of OpenCensus have the same problem.

What JVM are you using (java -version)?

1.8

Maven version: Apache Maven 3.5.2

What did you do?

If possible, provide a recipe for reproducing the error.

$ cd examples && mvn clean install

What did you expect to see?

Maven build succeeds.

What did you see instead?

Maven build failed with logs:

Exception in thread "main" java.lang.NoSuchMethodError: java.nio.ByteBuffer.mark()Ljava/nio/ByteBuffer;
	at org.eclipse.aether.connector.basic.ChecksumCalculator.update(ChecksumCalculator.java:202)
	at org.eclipse.aether.connector.basic.TransferTransportListener.transportProgressed(TransferTransportListener.java:90)
	at org.eclipse.aether.transport.wagon.WagonTransferListener.transferProgress(WagonTransferListener.java:64)
	at org.apache.maven.wagon.events.TransferEventSupport.fireTransferProgress(TransferEventSupport.java:121)
	at org.apache.maven.wagon.AbstractWagon.fireTransferProgress(AbstractWagon.java:594)
	at org.apache.maven.wagon.AbstractWagon.transfer(AbstractWagon.java:579)
	at org.apache.maven.wagon.AbstractWagon.getTransfer(AbstractWagon.java:372)
	at org.apache.maven.wagon.AbstractWagon.getTransfer(AbstractWagon.java:315)
	at org.apache.maven.wagon.AbstractWagon.getTransfer(AbstractWagon.java:284)
	at org.apache.maven.wagon.StreamWagon.getIfNewer(StreamWagon.java:97)
	at org.apache.maven.wagon.StreamWagon.get(StreamWagon.java:61)
	at org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner.run(WagonTransporter.java:567)
	at org.eclipse.aether.transport.wagon.WagonTransporter.execute(WagonTransporter.java:435)
	at org.eclipse.aether.transport.wagon.WagonTransporter.get(WagonTransporter.java:412)
	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.runTask(BasicRepositoryConnector.java:453)
	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:360)
	at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:75)
	at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:583)
	at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:259)
	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:498)
	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:399)
	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:224)
	at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:201)
	at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:261)
	at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor(DefaultArtifactDescriptorReader.java:192)
	at org.eclipse.aether.internal.impl.DefaultDependencyCollector.resolveCachedArtifactDescriptor(DefaultDependencyCollector.java:539)
	at org.eclipse.aether.internal.impl.DefaultDependencyCollector.getArtifactDescriptorResult(DefaultDependencyCollector.java:524)
	at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:412)
	at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:365)
	at org.eclipse.aether.internal.impl.DefaultDependencyCollector.process(DefaultDependencyCollector.java:353)
	at org.eclipse.aether.internal.impl.DefaultDependencyCollector.collectDependencies(DefaultDependencyCollector.java:256)
	at org.eclipse.aether.internal.impl.DefaultRepositorySystem.collectDependencies(DefaultRepositorySystem.java:282)
	at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:169)
	at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies(LifecycleDependencyResolver.java:223)
	at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies(LifecycleDependencyResolver.java:145)
	at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved(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.buildProject(LifecycleModuleBuilder.java:117)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
	at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.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:955)
	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:290)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:194)
	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:498)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)

Additional context

Add any other context about the problem here.

This seems an issue related to the Maven appassembler plug-in. I have tried to check out an older version of OpenCensus-Java and build the examples with Maven, but it still failed. After some investigation I suspect this is related to incompatibility introduced in JDK 9+ (similar issue: jetty/jetty.project#3244).

@songy23
Copy link
Contributor Author

songy23 commented Jun 18, 2019

Marked P2 because 1) I suspect this is an issue caused by upstream dependencies and there's little we can do, and 2) Gradle build of examples still works fine.

@songy23 songy23 changed the title Examples: Maven build is broken. Examples: Maven build is broken under JDK 1.8. Jun 18, 2019
@songy23
Copy link
Contributor Author

songy23 commented Jun 18, 2019

Confirmed Maven build succeeded under JDK 1.9 and 1.10. I think the build failure is only with JDK 1.8.

@rahulKQL
Copy link

Hi @songy23

I think this issue can be marked closed, I just tried to build the example with java version "1.8.0_201" & maven 3.5.4, it was successful for me.

Here the log:

bash-3.2$ java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
bash-3.2$ mvn clean install
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Detecting the operating system and CPU architecture
[INFO] ------------------------------------------------------------------------
[INFO] os.detected.name: osx
[INFO] os.detected.arch: x86_64
[INFO] os.detected.version: 10.14
[INFO] os.detected.version.major: 10
[INFO] os.detected.version.minor: 14
[INFO] os.detected.classifier: osx-x86_64
[INFO] 
[INFO] -----------------< io.opencensus:opencensus-examples >------------------
[INFO] Building opencensus-examples 0.25.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ opencensus-examples ---
[INFO] Deleting /Users/rahul/Documents/My_Home/GCP_Work/opencensus-java/examples/target
[INFO] 
[INFO] --- protobuf-maven-plugin:0.6.1:compile (default) @ opencensus-examples ---
[INFO] Compiling 1 proto file(s) to /Users/rahul/Documents/My_Home/GCP_Work/opencensus-java/examples/target/generated-sources/protobuf/java
[INFO] 
[INFO] --- protobuf-maven-plugin:0.6.1:compile-custom (default) @ opencensus-examples ---
[INFO] Compiling 1 proto file(s) to /Users/rahul/Documents/My_Home/GCP_Work/opencensus-java/examples/target/generated-sources/protobuf/grpc-java
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ opencensus-examples ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/rahul/Documents/My_Home/GCP_Work/opencensus-java/examples/src/main/resources
[INFO] Copying 1 resource
[INFO] Copying 1 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.7.0:compile (default-compile) @ opencensus-examples ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 25 source files to /Users/rahul/Documents/My_Home/GCP_Work/opencensus-java/examples/target/classes
[INFO] /Users/rahul/Documents/My_Home/GCP_Work/opencensus-java/examples/src/main/java/io/opencensus/examples/http/jetty/client/HelloWorldClient.java: Some input files use or override a deprecated API.
[INFO] /Users/rahul/Documents/My_Home/GCP_Work/opencensus-java/examples/src/main/java/io/opencensus/examples/http/jetty/client/HelloWorldClient.java: Recompile with -Xlint:deprecation for details.
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ opencensus-examples ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/rahul/Documents/My_Home/GCP_Work/opencensus-java/examples/src/test/resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.7.0:testCompile (default-testCompile) @ opencensus-examples ---
[INFO] No sources to compile
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ opencensus-examples ---
[INFO] No tests to run.
[INFO] 
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ opencensus-examples ---
[INFO] Building jar: /Users/rahul/Documents/My_Home/GCP_Work/opencensus-java/examples/target/opencensus-examples-0.25.0-SNAPSHOT.jar
[INFO] 
[INFO] --- maven-install-plugin:2.4:install (default-install) @ opencensus-examples ---
[INFO] Installing /Users/rahul/Documents/My_Home/GCP_Work/opencensus-java/examples/target/opencensus-examples-0.25.0-SNAPSHOT.jar to /Users/rahul/.m2/repository/io/opencensus/opencensus-examples/0.25.0-SNAPSHOT/opencensus-examples-0.25.0-SNAPSHOT.jar
[INFO] Installing /Users/rahul/Documents/My_Home/GCP_Work/opencensus-java/examples/pom.xml to /Users/rahul/.m2/repository/io/opencensus/opencensus-examples/0.25.0-SNAPSHOT/opencensus-examples-0.25.0-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.866 s
[INFO] Finished at: 2019-09-23T18:53:03+05:30
[INFO] ------------------------------------------------------------------------
bash-3.2

@songy23
Copy link
Contributor Author

songy23 commented Sep 23, 2019

Thanks @rahulKQL. Seems the fix has been rolled out to upstream dependencies. Marked as resolved now.

@songy23 songy23 closed this as completed Sep 23, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants