web-dev-qa-db-ja.com

エラー:パッケージcom.Sun.tools.javac.utilが存在しません

私のプレイ2.0.1アプリケーションをUbuntu 11.10で実行しようとしています。domain.com:9000にアクセスすると、ターミナルで次のエラーが発生します。

info] Compiling 4 Scala sources and 6 Java sources to /var/www/clients/client3/web10/sc2lounge/target/scala-2.9.1/classes...
[error] /var/www/clients/client3/web10/sc2lounge/app/models/Cron.Java:29: error: package com.Sun.tools.javac.util does not exist
[error] import com.Sun.tools.javac.util.List;
[error]                                ^
[error] 1 error
[error] {file:/var/www/clients/client3/web10/sc2lounge/}sc2lounge/compile:compile: javac returned nonzero exit code
[error] application - 

! Internal server error, for request [GET /] ->

sbt.PlayExceptions$CompilationException: Compilation error [error: package com.Sun.tools.javac.util does not exist]
    at sbt.PlayReloader$$anon$2$$anonfun$reload$3$$anonfun$2$$anonfun$apply$11$$anonfun$apply$12.apply(PlayReloader.scala:224) ~[na:na]
    at sbt.PlayReloader$$anon$2$$anonfun$reload$3$$anonfun$2$$anonfun$apply$11$$anonfun$apply$12.apply(PlayReloader.scala:224) ~[na:na]
    at scala.Option.map(Option.scala:133) ~[scala-library.jar:0.11.2]
    at sbt.PlayReloader$$anon$2$$anonfun$reload$3$$anonfun$2$$anonfun$apply$11.apply(PlayReloader.scala:224) ~[na:na]
    at sbt.PlayReloader$$anon$2$$anonfun$reload$3$$anonfun$2$$anonfun$apply$11.apply(PlayReloader.scala:221) ~[na:na]
    at scala.Option.map(Option.scala:133) ~[scala-library.jar:0.11.2]

Java_HOMEファイルに.bashrcを次のように設定しています:

Java_HOME=/usr/lib/jvm/default-Java  #Which is a symbolic link to Java-7-openjdk-common
export Java_HOME
PATH=$PATH:$Java_HOME/bin
export PATH

Java -versionの出力は次のとおりです。

Java version "1.6.0_23"
OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre11-0ubuntu1.11.10.2)
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)

javac -versionの出力は次のとおりです。

javac 1.7.0_147

私の質問は、なぜcom.Sun.tools.javac.util.Listがクラスパスに含まれていないのですか?

18
locrizak

このクラスは、JREの一部ではないtools.jarにあります。

16
Tony the Pony

Gradleでkotlin/jvmをビルドしようとしたときにこの問題が発生しました。jdk-9以降、tools.jarがないため、これをjvmの新しい他の人に投稿したいと思います。 classpathを設定するとよいでしょう。

Java_HOME= path_to_jdk

JRE_HOME= path_to_jre

PATH= ;%Java_HOME%\bin;%JRE_HOME%\bin

CLASSPATH=.;%Java_HOME%\lib;%JRE_HOME%\lib
3
Jacob