2017-08-24 49 views

回答

1

是的,这是可能的,但有一个重要的警告。编译的Java代码以二进制文件的形式发布,比如罐子,可以非常精确地重新编译回原始源代码。如果你的目标是保护专有源代码则需要代码混淆 - 见https://www.excelsior-usa.com/articles/java-obfuscators.html了解更多详情。代码混淆不幸是一个相当复杂的主题。

有两种方法从就餐模型安装程序省略项目源代码:

方法1 - 删除/从模式安装配置文件的src元素。这将指示模型安装程序在安装程序jar中省略/ src文件。编译的代理类将位于通常的项目/ bin文件夹中。

在/installer/installation_compnents.xml文件,围绕线156评论如下:

<!-- 
     <pack name="Sources" required="no"> 
      <description>The model source code</description> 
      <file src="$StagingOptionalArea/src" targetdir="$INSTALL_PATH/Geography"/> 
     </pack> 
--> 

的“”表示该被注释的代码块的开始和结束。接下来,在/installer/installation_coordinator.xml文件,围绕第62行注释:

<!-- Copy optional files to a separate directory --> 
     <copy todir="${StagingOptionalArea}" overwrite="true" failonerror="false"> 
       <fileset dir="." casesensitive="no"> 
<!--     <include name="**/src/**" /> -->    
        <include name="**/docs/**" /> 
       </fileset> 
     </copy> 

在这里,你不仅要评论的单行拷贝/ src文件夹,而不是/ docs文件夹(虽然你可以,如果你喜欢)。现在只需像往常一样构建模型安装程序。

方法2 - 的/ src文件夹导出到一个jar文件。与第一种方法相同,此方法不需要对默认安装程序文件进行任何更改。然而,它需要将其导出到一个JAR文件,这意味着你将需要在项目的副本来保留你的源代码后删除源代码。要将模型代码导出到JAR文件,请右键单击/ src文件夹并选择导出... - > Java - > JAR文件。在导出对话框中,确保src文件夹在选中“选择资源导出”框,然后指定JAR文件的名称和位置。将jar文件导出到项目/ lib文件夹中的最佳位置。大多数其他选项应该保留为默认值。确保“导出Java源文件和资源”未被选中,否则它会将源文件复制到jar文件中。生成JAR文件并验证它存在于/ lib文件夹中后,删除/ src文件夹的内容,但不删除/ src文件夹本身。这将永久删除模型源代码,所以如果您采用此路线,请再次制作项目副本。只需重命名或删除/ src文件夹将导致安装程序失败,因此该方法需要删除。最后,需要更新.rs文件夹中的user_path.xml文件以反映源代码位置中的更改。将行更改为假定导出的模型JAR文件位于/ lib文件夹中。所有的模型代码现在位于项目/ lib文件夹中的单个JAR文件中。此时/ src和/ bin文件夹应该是空的。照常构建模型安装程序。安装源代码的选项仍将出现在安装程序中,但安装程序JAR中不包含任何源代码,因此在安装时不会复制源代码。

相关问题