私はScalaプログラムを持っており、私はIntellij IDEを使っています。私はこのプログラムのjarファイルを作成し、それをLinuxサーバーに入れました。私はまた、プログラムを実行するシェルスクリプトを作った。私はシェルスクリプトを実行するたびに、私はこのエラーを取得する:ここにも私のシェルスクリプトですLinuxサーバ上で動作するjarファイルの構築
java.lang.ClassNotFoundException: com.tac.cco.associations.HDFStoES.main at java.net.URLClassLoader$1.run(URLClassLoader.java:359) at java.net.URLClassLoader$1.run(URLClassLoader.java:348) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:347) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:278) at org.apache.spark.util.Utils$.classForName(Utils.scala:229) at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:695) at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:187) at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:212) at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:126) at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
#!/bin/bash
input_path=/user/content/dashboard/t_date=
#output_path=/user/content/t_orc_content
lib=/apps/cco/lib
midt_date=20170626
jar_file=/apps/cco/ReportingData/bin/ReportingData.jar
input=$input_path$t_date
args="--jars $lib/elasticsearch-spark-20_2.11-5.2.1.jar,$lib/elasticsearch-5.2.1.jar,$lib/kafka-clients-0.9.0.2.3.4.51-1.jar,$lib/config-1.3.1.jar,$lib/DistributedLogger-0.0.2.jar,$lib/argparse4j-0.7.0.jar,$lib/spark-sql_2.11-2.1.0.jar,$lib/spark-core_2.11-2.1.0.jar"
opt="--driver-memory 30g --executor-memory 20g --executor-cores 10 --num-executors 6 --master yarn --conf spark.hadoop.yarn.timeline-service.enabled=false"
/usr/local/spark/bin/spark-submit $opt $args --class com.tac.cco.associations.HDFStoES.main $jar_file $t_date
exit
loader.shは、プログラムのメインファイルは、/ srcに/メインでありますscala/com/tac/cco/associations/HDFStoES/main.scalaがそれを認識していないようです。マニフェストファイルは、SRC /メイン/ META-INF/MANIFEST.MFの下で、次のものが含まれます。このエラーメッセージは、プログラムの実行ではなく、ポップアップされている理由
Manifest-Version: 1.0
Main-Class: com.tac.cco.associations.HDFStoES.main
が、私は理解していません。
私は次のようにしました: プロジェクト構造 - > artificats - > jar - >依存関係のあるモジュールから>私はReportingData(プロジェクトの名前)モジュールを選択しました。私のメインクラスとしてcom.tac.cco.associations.HDFStoES.mainを選択し、mainfestのディレクトリを選択しました。その後、マニフェストフォルダ以外のすべての依存関係を削除しました。私はそれを作成し、アーティファクトを作り、それを最初に清掃してからそれを作りました。
をこの次のプラグインを追加しますか? – lev
@levプロジェクト構造 - > artificats - > jar - >依存関係のあるモジュールから - >私はReportingData(プロジェクト名)モジュールを選択しました。私のメインクラスとしてcom.tac.cco.associations.HDFStoES.mainを選択し、mainfestのディレクトリを選択しました。その後、マニフェストフォルダ以外のすべての依存関係を削除しました。私はそれを作成し、アーティファクトを作り、それを最初に清掃してからそれを作りました。 – user2896120
'main'メソッドを含むクラスは、文字通り「main」と呼ばれていますか?それはあなたが共有したマニフェストに基づいてあなたが言っていることです。 –