Linux下怎么创建并执行.JAR文件

发布时间:2022-02-18 09:21:18 作者:iii
来源:亿速云 阅读:186
# Linux下怎么创建并执行.JAR文件

## 1. JAR文件简介

JAR(Java Archive)是Java平台的标准打包格式,用于将多个Java类文件、资源文件和元数据打包成单个文件。JAR文件基于ZIP格式,扩展名为`.jar`,常用于:

- 分发Java应用程序
- 作为库文件使用
- 包含可执行的Java程序

## 2. 准备工作

在Linux下创建和运行JAR文件前,需要确保系统已安装:

### 2.1 安装Java开发环境

```bash
# 检查Java是否安装
java -version
javac -version

# 如果未安装,使用以下命令安装(以Ubuntu为例)
sudo apt update
sudo apt install default-jdk

2.2 准备Java源代码

示例程序HelloWorld.java

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World from JAR!");
    }
}

3. 编译Java代码

javac HelloWorld.java

这将生成HelloWorld.class字节码文件。

4. 创建JAR文件

4.1 基本JAR创建

jar cvf HelloWorld.jar HelloWorld.class

参数说明: - c:创建新JAR - v:显示详细输出 - f:指定文件名

4.2 创建可执行JAR

需要添加清单文件MANIFEST.MF

Main-Class: HelloWorld

创建命令:

jar cvfm HelloWorld.jar MANIFEST.MF HelloWorld.class

4.3 打包多个文件

jar cvf MyApp.jar *.class resources/

4.4 查看JAR内容

jar tf HelloWorld.jar

5. 执行JAR文件

5.1 运行普通JAR

java -jar HelloWorld.jar

5.2 运行非可执行JAR

java -cp HelloWorld.jar HelloWorld

5.3 处理依赖项

当JAR依赖其他库时:

java -cp "lib/*:MyApp.jar" com.example.MainClass

6. 高级技巧

6.1 使用Maven构建JAR

pom.xml中添加:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.2.0</version>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>com.example.MainClass</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>

然后运行:

mvn package

6.2 创建包含依赖的Fat JAR

使用Maven Assembly插件:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>3.3.0</version>
    <configuration>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <archive>
            <manifest>
                <mainClass>com.example.MainClass</mainClass>
            </manifest>
        </archive>
    </configuration>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>

6.3 使用Gradle构建JAR

build.gradle中添加:

jar {
    manifest {
        attributes 'Main-Class': 'com.example.MainClass'
    }
    from {
        configurations.runtimeClasspath.collect { 
            it.isDirectory() ? it : zipTree(it) 
        }
    }
}

7. 常见问题解决

7.1 “no main manifest attribute”错误

原因:JAR缺少或包含错误的清单文件 解决方法:

jar uvfe HelloWorld.jar HelloWorld HelloWorld.class

7.2 类找不到错误

确保: 1. 类路径正确 2. 所有依赖项可用 3. 使用完整类名(包括包路径)

7.3 权限问题

chmod +x HelloWorld.jar

8. 最佳实践

  1. 使用构建工具(Maven/Gradle)管理项目
  2. 为JAR文件添加版本信息
  3. 包含适当的文档和LICENSE文件
  4. 使用标准目录结构:
    
    src/
     main/
       java/
       resources/
    

9. 总结

在Linux环境下创建和执行JAR文件是Java开发的基本技能。通过掌握JDK工具链和现代构建系统,可以高效地打包和分发Java应用程序。关键步骤包括:

  1. 编写和编译Java代码
  2. 创建包含正确清单的JAR文件
  3. 正确处理依赖关系
  4. 使用适当的命令执行JAR

随着项目规模增长,建议使用Maven或Gradle等构建工具来自动化这些过程。 “`

这篇文章共计约1350字,涵盖了从基础到进阶的JAR文件创建和执行方法,包括常见问题解决和最佳实践建议。格式采用标准的Markdown语法,便于阅读和编辑。

推荐阅读:
  1. Spring Boot Maven如何打包可执行Jar文件
  2. mysql如何创建event并实现保存event执行history

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux jar

上一篇:Linux中如何使用vgconvert命令

下一篇:Linux中如何使用vdfuse命令

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》