将Java项目包含为库

将Java项目包含为库,java,android,eclipse,cross-platform,Java,Android,Eclipse,Cross Platform,我的eclipse工作区中有三个项目: EventKitchenCore EventKitchenDesktop EventKitchenAndroid EventKitchenCore包含所有核心功能,EventKitchenDesktop和EventKitchenAndroid本质上只是不同的用户界面 我已经添加了EventKitchenCore,并在EventKitchenDesktop中作为库工作,但是我无法确定如何将其作为库添加到EventKitchenAndroid 我该怎么做呢?

我的eclipse工作区中有三个项目:

EventKitchenCore
EventKitchenDesktop
EventKitchenAndroid
EventKitchenCore
包含所有核心功能,
EventKitchenDesktop
EventKitchenAndroid
本质上只是不同的用户界面

我已经添加了
EventKitchenCore
,并在
EventKitchenDesktop
中作为库工作,但是我无法确定如何将其作为库添加到
EventKitchenAndroid

我该怎么做呢?每次我进行更改时都必须在
lib
目录中导出为jar,这将是一件痛苦的事情

我尝试在
Properties>Java Build Path>Libraries
Properties>Android>Library
中添加核心项目,但没有成功:\


更新-目前,我通过将核心项目导出为libs文件夹中的jar来实现。然而,我经常做出改变,就像我说的,这是一件痛苦的事

您必须转到要创建库的项目的首选项,并在
Android
子菜单中选中
Is library
。然后,您可以再次尝试导入项目。

最简单的方法(在Eclipse之外也适用)是从库的包目录创建一个符号链接/快捷方式,并将其放入项目的
src
-文件夹中:

|- EventKitchenCore
   |- src/
      |- org.your.library.package <-+
|- EventKitchenDesktop              |
   |- src/                          |
      |- org/desktop/something/     |
      |- symlink to ----------------+
|- EventKitchenAndroid              |
   |- src/                          |
      |- org/android/something/     |
      |- symlink to ----------------+
|-EventKitchenCore
|-src/
|-org.your.library.packageEclipse具有内置支持。您可以利用它自动创建当前项目的JAR,并将其放入另一个项目的文件夹中

如果
EventKitchenAndroid
EventKitchenCore
项目都在同一个工作区中,请在
EventKitchenCore
项目中创建一个
build.xml
文件,其中仅包含以下内容:


要测试它,请在Eclipse中选择该文件,然后按Ctrl+F11将其作为Ant构建文件运行。如果它按照您想要的方式工作,那么您可以告诉Eclipse在每次构建项目时自动执行这个构建文件。转到
EventKitchenCore
的项目属性,在Builders属性中,单击导入。。。然后选择刚刚创建的
build.xml
文件


现在,它将在每次项目建成时执行。您可以通过按Ctrl+B手动强制构建项目。另请参见我刚刚创建的。

您可以将项目配置为取决于EventKitchenCore的Maven工件,因此,Maven将为您处理此问题:

EventKitchenCore pom.xml:

<project ...>
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.adamgaskins</groupId>
   <artifactId>event-kitchen-core</artifactId>
   <packaging>jar</packaging>
   <version>0.0.1-SNAPSHOT</version>
   <name>EventKitchenCore</name>
</project>

4.0.0
com.adamgaskins
活动厨房核心
罐子
0.0.1-快照
EventKitchenCore
EventKitchenDesktop pom.xml:

<project ...>
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.adamgaskins</groupId>
   <artifactId>event-kitchen-desktop</artifactId>
   <packaging>jar</packaging>
   <version>0.0.1-SNAPSHOT</version>
   <name>EventKitchenDesktop</name>
   <dependencies>
     <dependency>
       <groupId>com.adamgaskins</groupId>
       <artifactId>event-kitchen-core</artifactId>
       <version>0.0.1-SNAPSHOT</version>
     </dependency>
   <dependencies>
</project>

4.0.0
com.adamgaskins
活动厨房桌面
罐子
0.0.1-快照
活动厨房桌面
com.adamgaskins
活动厨房核心
0.0.1-快照
EventKitchenAndroid pom.xml:

<project ...>
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.adamgaskins</groupId>
   <artifactId>event-kitchen-android</artifactId>
   <packaging>apk</packaging> <!-- for this, you need the maven-android-plugin -->
   <version>0.0.1-SNAPSHOT</version>
   <name>EventKitchenAndroid</name>
   <dependencies>
     <dependency>
       <groupId>com.adamgaskins</groupId>
       <artifactId>event-kitchen-core</artifactId>
       <version>0.0.1-SNAPSHOT</version>
     </dependency>
   <dependencies>
</project>

4.0.0
com.adamgaskins
活动厨房机器人
apk
0.0.1-快照
活动厨房机器人
com.adamgaskins
活动厨房核心
0.0.1-快照

不要忘记快照后缀,否则Maven不会更新您的更改。

我相信您正在寻找的是Eclipse中的“链接源”选项。从android项目中,选择该项目并右键单击以选择“构建路径”>“链接源”。这将允许您在与android应用程序开发相同的构建路径内访问Java库。

我想说,正如一些贡献者建议的那样,使用maven或ant。配置很简单,大多数都已经放好了,所以这是一个复制粘贴的问题。
在开发环境中,您可以做的是在构建路径中添加项目。转到构建路径,选择“项目”选项卡并添加所需的项目,以便每次进行更改时,链接的项目的所有更改都可见。当您即将部署时,可以使用maven或ant。但是,您也可以在开发中同时使用这两种方法。但是,如果您想要快速修复,我建议您在还不想使用maven或ant的情况下参考这些项目。但是,当您部署时,我强烈建议您使用这两个项目管理器中的一个,因为正如您所提到的,将项目导出为JAR,然后将它们添加到libraries文件夹是一件痛苦的事情。

以下是一个解决方案,可以帮助您:

1) Eclipse包浏览器-您的项目(Android)-右键单击您的项目

2) 点击Android(在屏幕的左侧)-现在你的屏幕可能看起来像这样-

现在在屏幕的底部,在Library部分,您可以直接添加所有库项目,而无需制作任何JAR。您只需要在工作区中导入这些库项目,或者所有库项目都应该在eclipse中打开

1) 单击“添加”按钮,您将获得可用的库项目列表,从中选择并构建您的项目


祝你好运。

如果你只想引用核心项目代码,那么在Eclipse中,你可以从Android项目中引用这个项目。(这个“库项目”功能只适用于Android库项目,这里只有一个普通的Java项目,对吗?)


因此,在PackageExplorer中,您拥有所有三个(核心、Android和桌面)项目。右键单击EventKitchenAndroid
,然后选择属性。选择Java构建路径->项目选项卡并单击添加。。。按钮选择EventKitchenCore。转到“订单和导出”选项卡,确保选中了
EventKitchenCore
项目,您可以开始了。对EventKitchenCore源代码的任何更改都会立即提供给Android项目。

这是我将库添加到项目中的方法

第一阶段:创建库项目

在这里