4

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

EventKitchenCore
EventKitchenDesktop
EventKitchenAndroid

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

我已经EventKitchenCore添加并作为库EventKitchenDesktopEventKitchenAndroid.

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

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

更新- 现在,我通过将核心项目导出为 libs 文件夹中的 jar 来使其工作。但是我经常进行更改,就像我说的那样,这很痛苦。

4

9 回答 9

12

Eclipse 具有内置的Ant支持。您可以利用它自动创建当前项目的 JAR 并将其放在另一个项目的文件夹中。

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

<?xml version="1.0" encoding="UTF-8"?>
<project name="EventKitchenCore" default="createjar">
    <target name="createjar">
        <jar destfile="../EventKitchenAndroid/libs/EventKitchenCore.jar" basedir="bin" />
    </target>
</project>

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

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

于 2013-01-12T04:23:55.513 回答
4

您可以将您的项目配置为依赖于 EventKitchenCore 的Maven Artifact,因此,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>

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>

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>

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

于 2013-01-12T04:47:58.633 回答
2

最简单的想法(也可以在 Eclipse 之外工作)是从库的包目录创建符号链接/快捷方式到src项目的 -folder 中:

|- EventKitchenCore
   |- src/
      |- org.your.library.package <-+
|- EventKitchenDesktop              |
   |- src/                          |
      |- org/desktop/something/     |
      |- symlink to ----------------+
|- EventKitchenAndroid              |
   |- src/                          |
      |- org/android/something/     |
      |- symlink to ----------------+

这样,您可以编译实际项目,就好像您的库将成为应用程序的一部分一样,并且您的更改会立即反映在两个项目中。

于 2013-01-12T03:12:41.623 回答
2

正如一些贡献者所建议的那样,我会说使用 maven 或 ant。配置很简单,大部分都已经放好了,复制粘贴就行了。当您在开发环境中时,您可以做的是在构建路径中添加项目。转到构建路径并选择“项目”选项卡并添加您需要的项目,因此每次进行更改时,所有更改对于链接的项目都是可见的。当您即将部署时,您可以使用 maven 或 ant。但是,您也可以在开发中同时使用它们。但是,如果您想要快速修复,如果您还不想使用 maven 或 ant,我建议您参考这些项目。但是,当您部署时,我强烈建议使用这两个项目经理之一,因为正如您所提到的,

于 2013-01-15T17:11:15.640 回答
1

这是一个可以帮助您的解决方案:

1)Eclipse-Package Explorer - 您的项目(Android) - 右键单击​​您的项目。

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

在此处输入图像描述

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

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

祝你好运..

于 2013-01-16T06:58:50.850 回答
0

您必须转到要创建库的项目的首选项并检查Is LibraryAndroid菜单。然后您可以尝试再次导入您的项目。

于 2013-01-04T00:09:38.350 回答
0

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

于 2013-01-14T19:25:59.333 回答
0

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

因此,在您的包资源管理器中,您拥有所有三个(核心、Android 和桌面)项目。右键单击EventKitchenAndroid并选择属性。选择 Java Build Path -> Project 选项卡并单击 Add... 按钮。选择EventKitchenCore。转到 Order & Export 选项卡,确保EventKitchenCore项目已选中,一切顺利。对 EventKitchenCore 源的任何更改都会立即用于 Android 项目。

于 2013-01-17T08:39:55.883 回答
0

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

图书馆项目

阶段 1:创建图书馆项目

在图像上,您可以看到 2 个名为libraryListSamples的项目,它们正在使用 library

要将项目作为库项目右键单击项目并选择属性

设置库

标记IsLibrary复选框以使其成为库

您可以在库项目的 bin 文件夹中看到 .jar 文件

编译库

现在创建了库项目

阶段 2:将库项目添加到 android 项目

现在右键单击您的android 项目并选择其属性。然后单击库区域内的添加按钮并将库项目的路径设置为它

在此处输入图像描述

在此处输入图像描述

然后会出现一个弹出窗口,显示您在 eclipse 中创建的当前处于活动状态的库项目列表(不会显示已关闭的库项目)

在此处输入图像描述

这里我只有一个项目,所以在这里列出

选择您需要的所有库,然后单击OK。现在库项目将添加到您的项目中

在此处输入图像描述

在检查您的 android 项目时,您可以看到项目的.jar文件已添加到您的 android 项目中

在此处输入图像描述

注意:-如果您在库项目中使用 android 支持包(android-support-v4.jar),则无需在您的 Android 项目中再次添加它。

您还可以使用 ant 将库添加到项目中。但我对此一无所知。

于 2013-01-18T10:40:02.917 回答