当前位置: 首页 > 知识库问答 >
问题:

将Repast模型打包为jar文件而不包含源代码?

狄飞鹏
2023-03-14

我想创建一个模型jar文件,但不包括源代码。可能吗?默认情况下,Repast模型安装程序包含源代码,但我想对模型的接收者隐藏它。

共有1个答案

潘畅
2023-03-14

是的,这是可能的,但有一个重要的警告。编译后的Java代码以二进制文件(如JAR)的形式分发,可以轻松地反编译回原始源代码,并具有极高的准确性。如果您的目标是保护专有源代码,则需要对代码进行模糊处理——请参阅https://www.excelsior-usa.com/articles/java-obfuscators.html更多细节。不幸的是,代码混淆是一个相当复杂的问题。

有两种方法可以从Repast模型安装程序中省略项目源代码:

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

在/installer/installation_components中。xml文件,在第156行附近注释如下:

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

“”表示注释的代码块的开始和结束。接下来,在/installer/installation_协调器中。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文件夹并选择export-

 类似资料:
  • 我见过类似的问题,但他们仍然没有意义,我的猿类大脑。 这里有一个例子。如果我在名为的头文件中声明了一个函数:并且在文件中声明了一个函数:。我在另一个文件(例如)中看到过这样的人,它只包含头,它只有声明(里面没有代码),而不包含带有代码的。但令我震惊的是,当他们调用中的函数时,它使用了中的代码并打印“hello”。怎么做?当我只包含了文件时,它如何打印在文件中添加的“hello”,而它只是一个声明,

  • 以前我正在使用ABM模型,现在正在转向投入正式生产环境(将其嵌入在线平台系统)。 为了做到这一点,我有两个重要目标要实现: > 如何以强化的方式将模型和相关文件打包并分发给其他人,最好是作为一个jar文件,其他程序可以轻松自动地调用该文件,以便在需要时运行模拟。最好在无头模式下运行模型。调用和运行模型时,应避免出现repast GUI控制窗口。顺便说一句:当前版本的模型不需要同时批量运行不同的场景

  • 我正在编写一个小的Java库,其中包含我通常在大多数android应用程序中包含的相关代码。我决定将库导出为一个jar文件,然后将该文件放到我未来项目的libs文件夹中。 null 现在,当我在我的一个android应用程序中使用这个jar时,除了Doc部分之外,所有的一切都像预期的那样运行。当我悬停在我的库的类和方法上时,我看不到我编写的文档注释。 Q1:我是不是又少了一步? Q2:jar文件应

  • 我有一个结构如下的maven项目: 我希望maven jar插件在构建jar文件时打包到数据库文件夹中。我尝试过包含这里概述的内容:https://maven.apache.org/plugins/maven-jar-plugin/examples/include-exclude.html,但它找不到目录“../database”(或../../database或../../../database

  • 问题内容: 我已经使用Netbeans开发了Java桌面应用程序。在我的应用程序中,我使用了一些属性文件,并将其放置在Project文件夹下,以便可以使用类似的代码来访问它 但是,当我将应用程序部署并打包到.jar文件时,我找不到属性文件在哪里,并且我的应用程序无法从属性文件读取值。 我该如何解决该错误,我应该在哪里放置我的属性文件并将其加载? 问题答案: 将其放在下面,然后按如下所示使用它。 N

  • 如何将Java源代码添加到AAR中? Jar创建 Jar的创建如下所示,并最终出现在我的模块的文件夹中。