我有一个给定的 eclipse maven 项目,它构建为一个 jar。 pom 有一个主要依赖项 BiRT 4.8.0-202010080643 Runtime。
<dependency>
<groupId>com.customer.birt.runtime</groupId>
<artifactId>org.eclipse.birt.runtime</artifactId>
<version>4.8.0-202010080643</version>
</dependency>
因此他们将这件神器推入了他们自己的联系之中;这就是为什么 com.customer.birt.runtime。 我真的不知道这家伙是怎么做到的以及他使用了哪些工具。目前我想更新到 BiRT 4.9。用唯一可用的替换上面的:
<dependency>
<groupId>org.eclipse.birt</groupId>
<artifactId>birt-runtime</artifactId>
<version>4.9.0</version>
<type>pom</type>
</dependency
进展不顺利。两者是来自同一个大项目的完全不同的星座。如何在我的简单 birt 项目中使用上述 4.9 的 Maven 依赖项?我仅为在 RCP 应用程序中托管和运行的桌面应用程序构建一项服务。我开始列出各个 Maven deps,以便我成功编译 java,但我仍然有一些执行和渲染 ReportEngine 的单元测试,并且由于运行时缺少 Deps 而失败。这是因为 ReportEngine 在运行时加载 API..
当我注意到我将盲目地在 pom.xml 中声明单独的 deps 时,我就开始在这里发帖,这是非常不可靠的(即使单元测试通过了)..
非常感谢!
M.阿卜杜
我的解决方案目前是我在评论中提出的或更简单的解决方案。我只是使用我在客户中的帐户手动将 birt-runtime jar 上传到 nexus,然后在我的 pom 中放入完全相同的unique坐标 groupid:artifactid:version。再加上一些其他依赖项,具体取决于我的单元测试在运行时询问的内容,例如eclipse.platform、emf.core、w3c、batik.css 等
我正在谈论使用 mvn clean verify 执行构建并生成一个 jar 文件
我的情况是:
<dependency>
<groupId>org.eclipse.birt</groupId>
<artifactId>runtime</artifactId>
<version>4.9.0-20220502</version>
</dependency>
以防万一有人通过 google 到达这里,我创建了一个项目来为 Birt 4.14.0 构建 BIRT 运行时 Maven 工件。请参阅 git 存储库