【问题标题】:How to avoid java files from classes directory/jar file?如何避免类目录/jar文件中的java文件?
【发布时间】:2012-12-20 07:50:59
【问题描述】:

我正在使用 IntelliJ Idea v11.4,当我在 target/classes 目录中编译我的项目时,不仅列出了类文件,还列出了 java 文件。对于每个类文件,我都找到了相应的 java 文件……这是正确的行为吗?

在我的项目中,我使用 maven 创建项目的 jar 文件,这个 jar 文件也包含这些 java 文件。

如何防止java文件被复制到jar文件中?我想混淆 jar 文件以在网络上发布它,所以如果 java 文件也是它的一部分,那么混淆变得无用。

提前感谢您的帮助!

【问题讨论】:

    标签: java file deployment jar intellij-idea


    【解决方案1】:

    关注guide: 您应该使用 Build | 构建 Jar 文件。构建工件 菜单项。 请注意,默认情况下,所有库都被提取到目标 Jar。通过添加新的 Extracted Directory 元素,这成为可能。使用这样的元素,您可以从 Jar 文件中提取目录并将其放入工件的输出中:

    【讨论】:

    • 我想通过 Maven 而不是 Idea 构建 Jar,以便在 CI 服务器上实现自动化。我的问题是为什么 Idea 会复制 target/classes 文件夹中的所有 java 文件...从那里被 Maven 打包到 Jar 中?
    • 我认为有 2 个选项: 1 - 您需要在 Idea 项目设置级别编辑排除目录(不要将源文件复制到目标); 2 - 检查您的 Pom.xml 并在需要时修复 maven jar 插件的复制说明(我认为您可以通过 jar 插件定义中的复制部分的扩展名排除文件)
    • 如果我用 maven 编译项目,一切都很好......我总是只有 target/classes 文件夹中有类文件。问题是想法,但我不知道在哪里排除 java 文件。我从头开始创建项目并得到相同的结果。任何帮助表示赞赏...
    • 使用有缺陷的模块作为主模块(具有多个模块)从头开始创建项目。感谢 aviad 的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多