Skip to content

Debian, openjdk, javax.annotation.Generated cannot find symbol #4498

Closed
@poiuty

Description

@poiuty

1. What did you do?

Try install java-tron on Debian 11.

Install java.

apt-get install openjdk-11-jdk-headless openjdk-11-jre-headless 

Set java-11-openjdk-amd64

# update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                         Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-17-openjdk-amd64/bin/java   1711      auto mode
* 1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      manual mode
  2            /usr/lib/jvm/java-17-openjdk-amd64/bin/java   1711      manual mode

Download and build.

git clone https://github.com/tronprotocol/java-tron.git
cd java-tron
git checkout -t origin/master
./gradlew clean build -x test

2. What did you expect to see?

BUILD SUCCESSFUL

3. What did you see instead?

./gradlew clean build -x test
Starting a Gradle Daemon, 1 incompatible Daemon could not be reused, use --status for details

> Task :protocol:compileJava FAILED
/home/tron/java-tron/protocol/src/main/java/org/tron/api/NetworkGrpc.java:23: error: cannot find symbol
@javax.annotation.Generated(
                 ^
  symbol:   class Generated
  location: package javax.annotation
/home/tron/java-tron/protocol/src/main/java/org/tron/api/WalletExtensionGrpc.java:20: error: cannot find symbol
@javax.annotation.Generated(
                 ^
  symbol:   class Generated
  location: package javax.annotation
/home/tron/java-tron/protocol/src/main/java/org/tron/api/MonitorGrpc.java:20: error: cannot find symbol
@javax.annotation.Generated(
                 ^
  symbol:   class Generated
  location: package javax.annotation
/home/tron/java-tron/protocol/src/main/java/org/tron/api/WalletGrpc.java:20: error: cannot find symbol
@javax.annotation.Generated(
                 ^
  symbol:   class Generated
  location: package javax.annotation
/home/tron/java-tron/protocol/src/main/java/org/tron/api/DatabaseGrpc.java:23: error: cannot find symbol
@javax.annotation.Generated(
                 ^
  symbol:   class Generated
  location: package javax.annotation
/home/tron/java-tron/protocol/src/main/java/org/tron/api/WalletSolidityGrpc.java:20: error: cannot find symbol
@javax.annotation.Generated(
                 ^
  symbol:   class Generated
  location: package javax.annotation
/home/tron/java-tron/protocol/src/main/java/org/tron/api/TronZksnarkGrpc.java:20: error: cannot find symbol
@javax.annotation.Generated(
                 ^
  symbol:   class Generated
  location: package javax.annotation
7 errors

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':protocol:compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 20s
25 actionable tasks: 14 executed, 11 up-to-date

4. Fix it.

Found a solution. Add the javax annotation dependency into build.gradle

    dependencies {
        compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.25'
        ...
        implementation 'javax.annotation:javax.annotation-api:1.3.2' 
     }

Try build.

./gradlew clean build -x test

BUILD SUCCESSFUL in 1m 45s
75 actionable tasks: 69 executed, 6 up-to-date

Metadata

Metadata

Assignees

No one assigned

    Labels

    topic:buildcompile error, jitpack

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions