如何将依赖项复制到gae war/WEB-INF/lib

2023-12-12

我是从蚂蚁的角度来的,所以请原谅我。我意识到这里已经有很多关于如何 Maven 依赖项的问题,但它们似乎都没有告诉我们如何做需要做的事情。

问题1: 目前,结合使用 maven-war-plugin,当我运行 mvn war:war 时,它会在目标文件夹中创建一个 war 文件夹。

但是,我希望将所有依赖项的 jar 复制到由 google eclipse 插件设置的 war/WEB-INF/lib (启用 gae,禁用 gwt),而不覆盖 google eclipse 插件放置在那里的 jar。

我不想设置 war 文件或 war 目录。我只需要复制/合并所有非 gae jar 与 gae jar,这样当项目作为 gae Web 应用程序运行时,Eclipse 就不会抱怨 ClassNotFoundException。

问题2: 在 Eclipse 中使用 Ant 时,我可以在 Eclipse 中运行 Ant 目标。

现在,我必须从 shell 窗口执行 mvn 命令(该窗口相互不知道 Eclipse 会话的存在)。看来唯一自动完成的事情是每当我更新依赖项时。

有没有一种方法或任何 Eclipse 插件可以让我在 Eclipse 中运行 mvn 目标?

附加信息:

mvn dependency:copy-dependencies坚持复制到target/dependency目录,其中包含以下内容:

  <plugin>
    <artifactId>maven-dependency-plugin</artifactId>
    <executions>
      <execution>
        <id>copy-dependencies</id>
        <phase>process-resources</phase>
        <goals>
          <goal>copy-dependencies</goal>
        </goals>
        <configuration>
          <outputDirectory>${basedir}/war/WEB-INF/lib/</outputDirectory>
          <overWriteReleases>false</overWriteReleases>
          <overWriteSnapshots>false</overWriteSnapshots>
          <overWriteIfNewer>true</overWriteIfNewer>
          <excludeArtifactIds>gwt-user,gwt-dev</excludeArtifactIds>
        </configuration>
      </execution>
    </executions>
  </plugin>

我什至尝试更改为绝对路径

<outputDirectory>
  /home/geek/eclipse/workspace/Demo-autoshoppe/holycow
</outputDirectory>

但是holycow目录仍然是空的并且mvn仍然坚持复制到target/dependency目录。我目前的解决方案是软链接target/dependency as war/WEB-INF/lib,这是一个非常非常糟糕的拼凑。为什么maven对outputDirectory规范不敏感?我使用的是Ubuntu的maven 2.2。


我有真正的答案给你,我的朋友。

使用“default-cli”执行 ID。确保您使用的是 Maven 2.2+。此 exec-id 适用于 mojo 的命令行执行。

  <build>
    <pluginManagement>
      <plugins>
        <!-- Copy dependencies to war/WEB-INF/lib for GAE proj compliance. -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <executions>
            <execution>
              <id>default-cli</id>
              <goals>
                <goal>copy-dependencies</goal>
              </goals>
              <configuration>
                <outputDirectory>${basedir}/war/WEB-INF/lib/</outputDirectory>
                <overWriteReleases>false</overWriteReleases>
                <overWriteSnapshots>false</overWriteSnapshots>
                <overWriteIfNewer>true</overWriteIfNewer>
                <excludeArtifactIds>gwt-user,gwt-dev</excludeArtifactIds>
              </configuration>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

Cheers.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将依赖项复制到gae war/WEB-INF/lib 的相关文章

  • 获取最新数据项 - Google App Engine - Python

    我需要检索添加到集合中的最新项目 我是这样做的 class Box db Model ID db IntegerProperty class Item db Model box db ReferenceProperty Action col
  • Eclipse 类型提案从 3.4 更改为 3.5 - 可配置吗?

    If I already have the types imported in Eclipse 3 4 I get concrete default classes but in 3 5 I just get the interface f
  • SWT 设置列高或插入新行

    我目前有一个带有几个 TableColumn 的表 org eclipse swt widgets Table 然而 由于用户界面空间的限制 我遇到了一些问题 举例来说 我有一个名为 目标用户 的表列 并且不能将其命名为其他任何名称 并且必
  • 如何正确地将MapStruct与Eclipse集成? (包括Lombok java代理)

    我愿意在一些官方项目中使用MapStruct 所以我决定先对其进行一些测试 我需要让它与 eclipse 集成工作 并遵循 MapStruct 网站上提供的所有说明 但是 到目前为止还没有运气 有人成功实现了这种整合吗 如果是的话我可以缺少
  • 如何告诉 Eclipse 忽略 Ant build.xml 中的错误?

    我有一个使用 Maven 构建的 Eclipse 项目 并且我在 Eclipse 中使用 m2eclipse 插件来获得 Maven 支持 然而这个项目还包含一个build xml它并不用于实际构建项目 而只是用于编写脚本功能 作为项目开发
  • Netbeans 和 Maven:不同的编译行为

    我正在使用 Netbeans 和 Maven 项目 在某些情况下 Netbeans 显示编译失败 红色气球 但 Maven 编译所有内容都没有任何问题 造成这种差异的原因可能是什么 我已经检查过两者都使用相同的 JDK 版本 一个可能的原因
  • Eclipse 不从目标平台下载相同版本的最新 jar

    我在 Eclipse IDE Indigo V3 7 2 中遇到一个奇怪的问题 我们使用托管在服务器上的目标平台 该服务器是使用 b3 聚合过程构建的 p2 存储库 我们从不同的团队获得某些组件和功能 每次他们提供插件时 版本号都保持不变
  • Maven 快速入门指南 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我的任务是为工作中的新程序设置开发环境 领导者选择 Eclipse 作为其 OSGi 支持的 IDE 并选择 Maven 作为构建实用程序
  • 将 Tomcat 插件添加到 Flex Builder

    无论如何 我们可以将 tomcat eclipse 插件添加到 Adob e Flex Builder 3 中吗 换句话说 我们可以将所有 Eclipse 插件也添加到 Flex Builder 中吗 我不确定 Tomcat 的情况如何 但
  • Eclipse java 断点 - 目的是什么?

    我正在学习 Android 教程 刚刚进入调试部分 我想知道断点的用途是什么 我还不能告诉 它实际上停止了应用程序 以便我可以确定它运行到该点 或者我可以设置多个断点并将它们用作标记来从断点到断点检查 停止和运行 我的代码 断点是执行停止的
  • 如何从 eclipse 获取实体的图标?

    我正在写一个 eclipse 插件 如何从 eclipse 库中获取各种图像 所以我没有为标准实体 例如类 接口 junits 等 保留一组本地图像 EDIT I used PlatformUI getWorkbench getShared
  • 如何在 devserver 上使用 Oauth 测试 Cloud Endpoints

    我的应用程序使用 Oauthed Cloud Endpoints 并且在生产中运行良好 我的问题是 在本地开发服务器上 我的 User 用户始终设置为 电子邮件受保护 cdn cgi l email protection 即使我已经完成了通
  • 无法解析 Landroid/support/v4/app/FragmentActivity 的超类

    我有一个项目使用WelcomeActivity这延伸了FragmentActivity 我使用支持库 所以android support v4 jar在里面libs文件夹 当我运行这个应用程序时 没有任何问题 但是 我想将 ActionBa
  • 在 Eclipse 中删除空块之前的新行

    我更喜欢奥尔曼式 http en wikipedia org wiki Brace style Allman style大括号 例如 if foo magical prancing unicorn stuff 而不是 if foo unma
  • Eclipse Oxygen - 项目消失

    为什么项目会从 Oxygen 的项目资源管理器中消失 启动 Eclipse 后我可以短暂地看到它们 但随后它们就消失了 无法重新添加或导入它们 因为它表示它们已经存在 我将项目从 git 重新克隆到另一个目录中 删除了 classpath
  • 是否可以将调试会话附加到 Eclipse CDT 中正在运行的程序

    我正在编写一个netscape iplanet插件 在solaris C上使用eclipse 它基本上是一个具有特定入口点的共享对象 并且我希望能够使用eclipse的调试器 gdb 来调试共享对象 我记得在 AIX 中做过类似的事情 您可
  • 谷歌应用程序引擎java上的HttpOnly cookies

    有人知道我如何在应用程序引擎上使用 httponly cookie 进行会话和 cookie 吗 在 Cookie 类的 javadoc 中 http java sun com javaee 6 docs api javax servlet
  • 将处理项目移至 Eclipse

    我已经在处理项目上工作了一段时间 现在想将其移至 Eclipse 中 我已经在 Eclipse 环境中安装了 Proclipse 我有很多扩展名为 pde 的文件 然而 Proclipse 文件都以 java 结尾 所有 pde 文件都存在
  • 在 GQL 中计算结果的最佳方法是什么?

    我认为进行计数的一种方法是这样的 foo db GqlQuery SELECT FROM bar WHERE baz baz my count foo count 我不喜欢的是我的计数将被限制为最大值 1000 并且我的查询可能会很慢 有人
  • Android ClassNotFoundException:在路径上找不到类

    10 22 15 29 40 897 E AndroidRuntime 2561 FATAL EXCEPTION main 10 22 15 29 40 897 E AndroidRuntime 2561 java lang Runtime

随机推荐