[英]How can I run Java JAR created from Intellij from command line
我閱讀了這篇 SO帖子並按照步驟進行操作,但仍然無法運行它。
我嘗試如下運行
Directory_where_jar_is_located $ java -jar Main.java
Error: Unable to access jarfile IcerbergRun
Directory_where_jar_is_located$ java -jar ProjectName.jar
Error: Could not find or load main class IcebergRun
此后需要做什么? 這些依賴是什么? 另外,我共享我的pom.xml,其中包含一些項目所需的庫。
<?xml version="1.0" encoding="UTF-8"?>
http://maven.apache.org/xsd/maven-4.0.0.xsd“> 4.0.0
<groupId>SparkIceberg</groupId>
<artifactId>SparkTut</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<!--<logger name="org.apache.catalina.core" level="OFF" />-->
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>2.3.2</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.11</artifactId>
<version>2.3.2</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk</artifactId>
<version>1.11.417</version>
</dependency>
<dependency>
<groupId>com.github.Netflix.iceberg</groupId>
<artifactId>iceberg-spark</artifactId>
<version>0.3.0</version>
</dependency>
<dependency>
<groupId>com.github.Netflix.iceberg</groupId>
<artifactId>iceberg-data</artifactId>
<version>0.3.0</version>
</dependency>
<dependency>
<groupId>com.github.Netflix.iceberg</groupId>
<artifactId>iceberg-common</artifactId>
<version>0.3.0</version>
</dependency>
<dependency>
<groupId>com.github.Netflix.iceberg</groupId>
<artifactId>iceberg-api</artifactId>
<version>0.3.0</version>
</dependency>
<dependency>
<groupId>com.github.Netflix.iceberg</groupId>
<artifactId>iceberg-core</artifactId>
<version>0.3.0</version>
</dependency>
<dependency>
<groupId>com.github.Netflix.iceberg</groupId>
<artifactId>iceberg-parquet</artifactId>
<version>0.3.0</version>
</dependency>
<dependency>
<groupId>com.github.Netflix.iceberg</groupId>
<artifactId>iceberg-orc</artifactId>
<version>0.3.0</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-aws</artifactId>
<version>3.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>3.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>3.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.parquet</groupId>
<artifactId>parquet-common</artifactId>
<version>1.10.0</version>
</dependency>
<dependency>
<groupId>org.apache.parquet</groupId>
<artifactId>parquet-column</artifactId>
<version>1.10.0</version>
</dependency>
<dependency>
<groupId>org.apache.parquet</groupId>
<artifactId>parquet-hadoop</artifactId>
<version>1.10.0</version>
</dependency>
<dependency>
<groupId>org.apache.avro</groupId>
<artifactId>avro</artifactId>
<version>1.8.2</version>
</dependency>
</dependencies>
我用Java創建了一個Test項目,並構建並執行了jar。
現在單擊文件->項目結構->工件。 單擊左上角左導航窗格旁邊的+
號。
現在單擊+
號,然后從具有依賴項的模塊中選擇Jar-> from....。將出現一個對話框,如下所示:
現在選擇Main Class
然后選擇要解extract to the target JAR
前面的radio button
,然后單擊OK
。 您將看到以下內容 :
選中“ Include in project build checkbox
,然后單擊“應用”- Apply->Ok
。
點擊Build->Build Project
。 現在您可以看到out directory
具有artifacts sub-directory
將具有相應的jar
現在,在intelliJ
的終端上,進入存在jar的目錄,並執行命令java -jar JAR_NAME.jar
,您將看到main函數已執行。
所以我不確定為什么我的IntelliJ生產的JAR無法執行並且Could not load main class
所以我在命令行上嘗試了整個Java項目並生成了對我有用的JAR。
步驟如下:
1.在ec2上安裝maven https://gist.github.com/sebsto/19b99f1fa1f32cae5d00
$sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
$sudo sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo
$sudo yum install -y apache-maven
$mvn —version
2.還要安裝以下內容
$sudo yum install java-1.8.0-openjdk-devel
$yum install zip
3.執行此操作以創建Maven項目 http://www.mkyong.com/maven/how-to-create-a-java-project-with-maven/
$mvn archetype:generate -DgroupId=com.package.name -DartifactId=java-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
4.編輯代碼文件和pom.xml。 您可以在IntelliJ中打開項目並進行編輯。
5. MAVEN BUILD:從Java項目的根目錄運行
java-project$mvn package or mvn clean package
6.刪除構建后創建的這些文件
https://gist.github.com/hkhamm/88923412992d284580ea
java-project$zip -d target/iceberg-project-1.0-SNAPSHOT.jar META-INF/*.RSA META-INF/*.DSA META-INF/*.SF
7.運行JAR
java-project$java -cp target/java-project-1.0-SNAPSHOT.jar com.project.name.App
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.