如何给jar包attach source包

how to download source jar file for your jar?

1. google + org.eclipse.jdt.debug.ui (3.6.100.v20120530-1425) source

使用google直接搜索

2. Java Source Attacher   

使用Java Source Attacher插件

update site is: http://svn.codespot.com/a/eclipselabs.org/free-plugins/trunk/site/

3. add eclipse related source jar file, please using eclipse update site

如果是eclipse自带的jar包,可以试一试eclipse的update site

http://wiki.eclipse.org/Eclipse_Project_Update_Sites

4. using eclipse site

自动上eclipse的网站下载

http://archive.eclipse.org/eclipse/downloads/


<think>我们正在处理用户的问题:如何在IntelliJIDEA中将项目打含源代码的JAR文件。根据用户提供的引用内容,我们注意到引用[2]提到了使用maven打jar,但用户希望含源代码。通常,打含源代码的JAR有两种常见方式:1.使用Maven插件(如果项目是Maven项目)2.使用IntelliJIDEA自带的构建工具(适用于非Maven项目)由于引用[2]中出现了maven,我们可以假设用户可能是Maven项目,但为了全面性,我们将介绍两种方法。方法一:使用Maven(推荐)在Maven项目中,我们可以使用maven-assembly-plugin或maven-jar-plugin来打含源代码的JAR。这里以maven-assembly-plugin为例:步骤:1.在pom.xml中配置插件:```xml<build><plugins><plugin><artifactId>maven-assembly-plugin</artifactId><version>3.3.0</version><configuration><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs><!--如果需要含源代码,可以使用以下配置--><archive><addMavenDescriptor>false</addMavenDescriptor></archive><attachClasses>true</attachClasses></configuration><executions><execution><phase>package</phase><goals><goal>single</goal></goals></execution></executions></plugin></plugins></build>```但是,上述配置主要是打含依赖的JAR,并不含源代码。要含源代码,我们可以使用maven-source-plugin:```xml<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-source-plugin</artifactId><version>3.2.1</version><executions><execution><id>attach-sources</id><goals><goal>jar</goal></goals></execution></executions></plugin>```这样,在执行mvnpackage时,会生成两个jar:一个是项目的jar,另一个是含源代码的jar(后缀为-sources.jar)。2.在IntelliJIDEA中,可以通过Maven工具栏执行package生命周期。方法二:使用IntelliJIDEA自带的构建工具(非Maven项目)步骤:1.打开项目,点击File->ProjectStructure(或者使用快捷键Ctrl+Shift+Alt+S)2.在ProjectStructure窗口中,选择Artifacts->点击"+"->JAR->Frommoduleswithdependencies...3.在弹出窗口中,选择主类(MainClass),然后点击OK。4.在OutputLayout选项卡中,你可以看到输出的JAR内容。默认情况下,它只含编译后的类文件,不含源代码。为了含源代码,你需要手动添加源代码目录:-点击"+"->DirectoryContent-选择你的项目源代码目录(通常是src/main/java)-然后,将添加的源代码目录移动到编译输出的目录(比如,放在根目录或者你希望的路径下)5.点击Apply,然后OK。6.然后,点击菜单Build->BuildArtifacts...,选择你刚刚创建的Artifact,点击Build。注意:这种方法打JAR文件会含源代码,但请注意,源代码通常以.java文件的形式存在,而运行需要的是.class文件。因此,如果你希望这个JAR既能运行又含源代码,那么你需要确保编译后的类文件也在JAR中(这是默认含的),然后额外添加源代码。但是,请注意,含源代码的JAR通常不是用来直接运行的,而是作为库文件供其他开发者查看源代码。如果你需要可运行的JAR,那么源代码不是必须的。根据用户的需求,他可能希望将源代码打JAR,可能是为了分发库并附带源码。因此,我们推荐使用Maven的方式,因为这样可以生成标准的-sources.jar,这是Maven仓库中常见的源码。如果用户的项目不是Maven项目,那么可以使用第二种方法。由于引用[1]中提到了环境变量配置,但这个问题不涉及环境变量,所以我们不需要考虑。下面我们将详细描述在IntelliJIDEA中使用Maven打含源代码的步骤,因为引用[2]提到了maven。具体步骤(Maven项目):1.确保项目是Maven项目(有pom.xml文件)。2.在pom.xml中添加maven-source-plugin的配置(如上所示)。3.在IntelliJIDEA的右侧,找到Maven工具栏(如果没有,可以点击View->ToolWindows->Maven)。4.展开项目,展开Lifecycle,双击package,Maven将执行打操作。5.在项目的target目录下,除了普通的jar文件,还会生成一个以-sources.jar结尾的JAR文件,这就是含源代码的JAR。如果用户需要将源代码和主程序打在同一个JAR中(不推荐,因为标准的做法是分开),那么可以使用maven-assembly-plugin并自定义描述符,将源代码目录含进去。但这样可能会使JAR文件变得很大,且不符合Maven标准。因此,我们通常建议生成两个JAR:一个是主JAR含编译后的类),另一个是源代码JAR。根据用户的问题,他要求“含源代码的JAR文件”,所以我们可以理解为生成一个含源代码的JAR文件,这个文件可以是单独的。现在,我们按照用户要求生成相关问题。注意:用户的问题是关于打含源代码的JAR,所以相关问题应围绕这个主题。</think>### 在 IntelliJ IDEA 中打含源代码的 JAR 文件 以下是两种常用方法(推荐使用 Maven 方式): #### 方法一:通过 Maven 插件(推荐) 1. **添加 `maven-source-plugin` 到 `pom.xml`**: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>3.2.1</version> <executions> <execution> <id>attach-sources</id> <phase>package</phase> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> </plugins> </build> ``` 2. **执行打命令**: - 打开 IDEA 右侧 **Maven 工具栏** - 展开项目 → Lifecycle → 双击 `package` - 在 `target/` 目录生成两个文件: - `项目名.jar`(主 JAR) - `项目名-sources.jar`(源代码 JAR) #### 方法二:通过 IDEA 手动构建 1. **配置 Artifact**: - `File → Project Structure → Artifacts → + → JAR → From modules with dependencies` - 选择主类(可跳过) - 在 `Output Layout` 选项卡: - 右键 `Add Directory Content` - 选择源代码目录(如 `src/main/java`) - 勾选 `Include in project build` 2. **构建 JAR**: - `Build → Build Artifacts...` - 选择刚创建的 Artifact → `Build` - 输出路径:`out/artifacts/项目名/项目名.jar` > ⚠️ 注意:手动方法会将源码 `.java` 文件与编译后的 `.class` 文件混合在同一个 JAR 中,可能影响正常执行。建议优先使用 Maven 分离打[^1][^2]。 ### 验证源代码 JAR 解压生成的 `*-sources.jar` 文件,检查是否含: ``` META-INF/ com/ └─yourpackage/ └─YourClass.java <-- 源代码文件 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值