2017-08-24 35 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中不包含任何源代碼,因此在安裝時不會複製源代碼。

相關問題