idea打包jar包到linux运行
时间: 2023-12-06 12:05:22 浏览: 126
首先,你需要在 IDEA 中构建你的 Java 项目,然后将其打包为可执行 JAR 文件。可以按照以下步骤完成:
1. 在 IDEA 中,选择 File -> Project Structure。
2. 选择 Artifacts 选项卡,并单击加号 (+) 添加一个新的 JAR。
3. 选择 JAR from modules with dependencies。
4. 选择你的项目模块,选择 Main Class。
5. 点击 OK。
现在,你已经创建了一个可执行 JAR 文件。接下来,将它上传到 Linux 服务器。你可以使用 scp 命令将 JAR 文件上传到服务器:
```
scp /path/to/your/jarfile.jar username@server:/path/on/server
```
替换上述命令中的 `/path/to/your/jarfile.jar` 为你的 JAR 文件路径,`username` 为你的 Linux 用户名,`server` 为你的服务器地址,`/path/on/server` 为你要上传到的服务器路径。
上传完成后,在 Linux 服务器上使用以下命令运行 JAR 文件:
```
java -jar /path/on/server/jarfile.jar
```
替换上述命令中的 `/path/on/server/jarfile.jar` 为你上传到服务器的 JAR 文件路径。如果一切顺利,你的 Java 应用程序应该已经在 Linux 服务器上运行了。
相关问题
在Linux系统中安装IntelliJ IDEA,然后使用IntelliJ IDEA工具开发WordCount程序, 并打包成JAR文件,提交到Flink中运行。
在Linux系统中安装IntelliJ IDEA的步骤如下:
1. 下载IntelliJ IDEA安装包,可以在官网上下载,也可以使用命令行下载。下载命令如下:
```shell
wget https://download.jetbrains.com/idea/ideaIC-2021.2.2.tar.gz
```
2. 解压安装包,命令如下:
```shell
tar -zxvf ideaIC-2021.2.2.tar.gz
```
3. 进入解压后的目录,运行bin目录下的idea.sh文件启动IntelliJ IDEA。
WordCount程序是Flink中的经典案例,使用IntelliJ IDEA工具开发WordCount程序的步骤如下:
1. 新建一个Java项目,并添加Flink依赖。
2. 在src/main/java目录下新建一个WordCount.java文件。
3. 在WordCount.java文件中编写WordCount程序的代码。
4. 点击菜单栏的“Build”->“Build Artifacts”,选择“jar”,生成JAR文件。
5. 将生成的JAR文件提交到Flink中运行。
virtualBox虚拟机在Linux操作系统中安装IntelliJ IDEA,然后使用IntelliJ IDEA工具开发WordCount程序,并打包成JAR文件,提交到Flink中运行
### 在VirtualBox Linux虚拟机中使用IntelliJ IDEA创建并打包Java WordCount项目
#### 创建WordCount Java Project
为了在Linux环境下利用IntelliJ IDEA创建一个新的Java项目用于实现WordCount功能,需先启动已安装好的IDEA软件。接着,在欢迎界面选择“Create New Project”,指定项目的名称为`WordCountProject`以及保存路径[^1]。
```bash
cd ~/IdeaProjects/
```
#### 添加Flink依赖到项目配置文件
对于基于Maven构建工具管理的项目来说,编辑`pom.xml`来引入必要的Apache Flink库是非常重要的一步。这使得开发者能够访问Flink API完成分布式数据处理逻辑的设计与编码工作。
```xml
<dependencies>
<!-- https://mvnrepository.com/artifact/org.apache.flink/flink-java -->
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-java</artifactId>
<version>1.14.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.flink/flink-streaming-java_2.12 -->
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-streaming-java_2.12</artifactId>
<version>1.14.0</version>
</dependency>
<!-- Add other dependencies as needed -->
</dependencies>
```
#### 编写WordCount应用程序代码
按照标准输入输出流的方式编写简单的单词计数器应用实例。此部分涉及到了核心业务逻辑的具体实现细节,即读取文本源、解析每条记录中的词语并将它们映射成键值对形式最后统计各不相同词条出现次数的过程。
```java
import org.apache.flink.api.common.functions.FlatMapFunction;
import org.apache.flink.api.java.DataSet;
import org.apache.flink.api.java.ExecutionEnvironment;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.util.Collector;
public class WordCount {
public static void main(String[] args) throws Exception {
final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
DataSet<String> text = env.fromElements(
"To be, or not to be,--that is the question:--",
"Whether 'tis nobler in the mind to suffer"
);
DataSet<Tuple2<String, Integer>> counts =
text.flatMap(new Tokenizer())
.groupBy(0)
.sum(1);
counts.print();
}
public static final class Tokenizer implements FlatMapFunction<String, Tuple2<String, Integer>> {
@Override
public void flatMap(String value, Collector<Tuple2<String, Integer>> out) {
String[] tokens = value.toLowerCase().split("\\W+");
for (String token : tokens) {
if (token.length() > 0) {
out.collect(new Tuple2<>(token, 1));
}
}
}
}
}
```
#### 构建可执行JAR包
当所有的源码都已经准备就绪之后,可以通过命令行或者直接借助于IDE内置的功能来进行编译操作从而得到最终可以分发部署的目标产物——带有manifest属性声明入口类名信息的标准jar档案文件。
```bash
mvn clean package -DskipTests=true
```
上述指令会清理旧有的build目录,并重新编译整个工程结构下的所有模块;同时跳过单元测试环节加快整体进度直至成功产出位于target子文件夹内的`.jar`压缩文档。
#### 提交作业给Flink集群运行
一旦拥有了封装完毕的应用程序二进制镜像制品,则可通过如下所示CLI客户端命令向远程或本地模式下运作着的服务端发起请求进而触发任务调度机制自动加载解释执行用户自定义脚本所描述的数据转换管道链路图谱。
```bash
flink run /path/to/target/wordcount.jar
```
确保提前设置好环境变量指向正确的FLINK_HOME位置以便调用对应版本号段内附带提供的binaries集合里的shell scripts辅助工具集。
阅读全文