【问题标题】:Question Regarding External Jars and MAVEN关于外部罐子和 MAVEN 的问题
【发布时间】:2010-12-30 17:40:52
【问题描述】:

我有两个GWT项目Project A和Project B。这些项目的依赖关系由MAVEN处理。Project B依赖于Project A,这部分已经被处理了。

现在我需要在项目 A 中添加一个外部 Jar。我不想为此使用 Maven。我只想将外部 jar 文件添加到项目 A 中并更新我的 ProjectA.gwt.xml 以继承该 jar。

所以我将 jar 文件包含在项目 A 中。但是项目 B 无法识别 jar 中的类。所以我继续执行以下步骤

1) 右键单击​​项目 A 并选择构建路径 2)点击配置构建路径 3)订购并导出jar文件

然后在这样做之后,我的项目 B 可以编译 JAR 文件中使用的类。但是在运行时它崩溃了。它无法识别 JAR 文件中的类。

谁能告诉我该怎么做? 请为我提供使用/不使用 MAVEN 的解决方案。我希望不使用 MAVEN。

谢谢

【问题讨论】:

  • 你为什么不喜欢使用 Maven?当您说您右键单击时,您指的是哪个工具?可能是 Eclipse?
  • 哦,它的 Eclipse。抱歉没有提到。我什至可以使用 maven,但我无法将外部库添加到我的 poms 中

标签: gwt jar maven


【解决方案1】:

我认为你应该在 Maven 中保留所有的依赖管理。

Eclipse Maven 插件管理你的Eclipse项目的构建路径配置,不应该手动修改。

您可以使用此配置将外部库添加到存储库:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-install-plugin</artifactId>
    <version>2.3</version>
    <executions>
        <execution>
            <id>deploy-on-local-repo1</id>
            <phase>generate-sources</phase>
            <goals>
                <goal>install-file</goal>
            </goals>
            <inherited>false</inherited>
            <configuration>
                <file>src/your-librairie.jar</file>
                <groupId>com.yourlibrairiegroupID</groupId>
                <artifactId>librairie-name</artifactId>
                <version>1.0</version>
                <packaging>jar</packaging>
                <generatePom>true</generatePom>
            </configuration>
        </execution>
    </executions>
</plugin>

希望它能解决您的问题。

【讨论】:

  • 这行得通,但我经常惊讶于 Mavenites 不能更好地理解这个用例。如果您在一个分布式团队中,并且需要任何人,在任何本地存储库上都能够构建一个使用开源依赖项的项目(即 Google 代码项目),而该项目恰好不在公共 Maven 存储库中,那么您'将需要添加保存在您的 SVN 中的外部 jar。简单地手动将 jars 添加到本地或企业 repo 并不能生成可以在任何 CI 机器上运行的自动构建。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-29
  • 1970-01-01
  • 2018-08-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多