当前位置: 首页 > 面试题库 >

根据一个源文件的依赖关系创建Java Eclipse项目的子集

公西俊民
2023-03-14
问题内容

我有一个Eclipse项目/工作区库,其中包含偶尔交付给客户的功能。我们都是研究人员,因此这是非常非正式的。我用文档制作了一个JAR和Word文件,并将其发送给他们。

我希望向他们发送一个JAR文件,其中仅包含他们实际需要的内容,以简化操作。如果他们需要类X,Y,Z和W,那么我将发送一个包含X,Y,Z和W以及依赖于它们的所有类的JAR文件。

现在,我正在以一种绝望的手动方式执行此操作(我创建了一个新项目,将鼠标放在X,Y,Z和W上,然后将其放在需要修复编译器错误的所有位置上)。在Eclipse中自动化它的正确方法是什么?

编辑:需要明确的是,所涉及的Eclipse项目包含的类远远多于客户实际需要的类。

编辑:而且,没有涉及反射;我可以确信编译器知道发生了什么。我是编写代码的人,我避免像瘟疫一样反思。我使用反射的唯一地方是模仿Collections.toArray(),在这种情况下,唯一可能导致问题的类是用户提供的类。


问题答案:

Byecycle,Eclipse插件会有所帮助,但已从Sourceforge中删除。不是获得全面的自动化流程,而是确定依赖关系。我不确定您是否可以在Ganymede
/ Galileo上使用它,因为我已经使用了很长时间了。

更新资料

本类相关分析工具可能被证明是更有帮助,因为它带有一个插件扩展API,它
可以用来 创建一个插件来执行,你打算做完全任务。

更新#2

如果您想知道Ant的用法,可以使用ClassFileSet类型获取一个类及其依赖项列表。可以在复制任务中引用它以复制所需的 类文件
。请注意,这不会复制源文件。

在内部,此方法取决于BCEL库,因此,如果您希望执行源代码的副本,则可以尝试编写代码以检查.class文件的依赖项,然后将源代码复制到另一个目录中。



 类似资料:
  • 我面临着以下问题。我有两个Gradle项目(ProjectA和ProjectB)在同一个层次结构上,没有任何根项目。由于ProjectA依赖于ProjectB,我尝试将其建模如下: ProjectA的settings.gradle: ProjectA的build.gradle: 然而,当我在ProjectA上执行gradle build时,我得到了以下错误: 我必须在ProjectB中定义某种默认

  • 问题内容: 我正在使用gradle / intellij-idea开发一个多模块项目,这是我的项目主页的结构: 如您所见,我有多个子项目(全部为Java),如何使它们依赖于某些公共资源(“数据”项目,该项目不包含任何代码,仅包含资源),以及它们各自的资源? 同样,最好是intellij-idea可以使用JetGradle自动选择这些依赖项(JetGradle可以很好地选择每个子项目中的默认grad

  • 我在同一个IntelliJ项目中加载了两个Maven模块。一个模块依赖于另一个模块。如果我更改了它的版本,那么我的第二个模块将无法再解析依赖关系,除非我首先显式运行<code>mvn安装 当模块加载到同一项目中时,IntelliJ不能从源模块中解析Maven依赖关系吗?

  • 我试图使用gradle和以下指令指定一些jar依赖项: http://gradle.org/docs/current/userguide/dependency_management.html#sub:file_dependencies 当我从windows cmd运行gradle时,我得到: 我错过了什么?

  • 本文向大家介绍Apache Maven 创建具有项目所有依赖项的.jar文件,包括了Apache Maven 创建具有项目所有依赖项的.jar文件的使用技巧和注意事项,需要的朋友参考一下 示例 要创建包含所有依赖项的JAR,可以使用内置描述符格式jar-with-dependencies。以下示例package使用此内置描述符并声明的主类来配置绑定到该阶段的Assembly Plugin的执行co

  • 我正在使用war插件为我在Gradle中的项目生成一个简单的.war文件。我想知道如何配置gradle,这样我就可以创建4个不同的.war文件,这些文件具有不同的依赖关系。 null 下面的示例创建了一个只包含一个jar的war文件,但我希望使用不同的jar生成5个不同的.war文件。 Build.Gradle