当前位置: 首页 > 面试题库 >

我该如何解决:尝试在Jenkins上构建Java Web应用程序时,Ant无法“查找文件”?

毋宏茂
2023-03-14
问题内容

我正在尝试使用Jenkins
CI为NetBeans多层Web应用程序项目建立一个自动构建系统。这个NetBeans项目包含一个EJB项目(用于Web应用程序的业务层)和一个WAR项目(用于应用程序的Web层)。我目前坚持让Ant来编译项目。

我正在使用Windows 8在NetBeans IDE 8.0中进行开发。Jenkins也可以在Windows 8上运行。

我目前正在寻找一个了解如何使用Jenkins和Ant构建EJB项目的人。

到目前为止,我所做的是:

  • 我已经建立了一个NetBeans项目(如上所述)
  • 我已经为项目建立了一个git仓库
  • 我已经建立了詹金斯CI
  • 我可以使用Jenkins CI从git存储库中获取项目
  • 我能够让Jenkins使用Ant清理从git存储库中检索到的项目

我卡住的地方:

成功使用Ant 执行 clean 命令后,我想使 debug 命令起作用。为此,需要编译项目。这是哪里出错了。

我在Jenkins中的Ant调用的“属性”字段中输入了以下属性:

libs.CopyLibs.classpath=C:/Program Files/NetBeans 8.0/java/ant/extra/org-netbeans-modules-java-j2seproject-copylibstask.jar
j2ee.server.home=C:/Program Files/wildfly-8.1.0.Final

在我的Jenkins版本的输出中,我看到以下命令:

[PGB Web应用程序] $ cmd.exe / C’“” C:\ Program Files(x86)\ Jenkins \ tools \
hudson.tasks.Ant_AntInstallation \ Apache_Ant \ bin \ ant.bat“”
-Dlibs.CopyLibs.classpath = C: / Program Files / NetBeans 8.0 / java / ant /
extra / org-netbeans-modules-java-j2seproject-copylibstask.jar“”
-Dj2ee.server.home = C:/ Program Files / wildfly-8.1.0.Final“干净调试 &&退出%%
ERRORLEVEL %%“”

这是我输出的最后一部分:(对我来说似乎最重要的部分)

init:

-init-cos:

-deps-module-jar:

-deps-ear-jar:

deps-jar:

-pre-pre-compile:
    [mkdir] Created dir: C:\Program Files (x86)\Jenkins\workspace\PGB Webapp\pgb-ejb\build\classes

-pre-compile:

-copy-meta-inf:
     [copy] Copying 2 files to C:\Program Files (x86)\Jenkins\workspace\PGB Webapp\pgb-ejb\build\classes\META-INF

-do-compile:
    [mkdir] Created dir: C:\Program Files (x86)\Jenkins\workspace\PGB Webapp\pgb-ejb\build\empty
    [mkdir] Created dir: C:\Program Files (x86)\Jenkins\workspace\PGB Webapp\pgb-ejb\build\generated-sources\ap-source-output
    [javac] Compiling 5 source files to C:\Program Files (x86)\Jenkins\workspace\PGB Webapp\pgb-ejb\build\classes

-post-compile:

compile:

-pre-dist:

library-inclusion-in-manifest:

BUILD FAILED
C:\Program Files (x86)\Jenkins\workspace\PGB Webapp\nbproject\build-impl.xml:204: The following error occurred while executing this line:
C:\Program Files (x86)\Jenkins\workspace\PGB Webapp\pgb-ejb\nbproject\build-impl.xml:806: Warning: Could not find file C:\Program Files (x86)\Jenkins\workspace\PGB Webapp\pgb-ejb\${libs.MySQLDriver.classpath} to copy.

Total time: 1 second
Build step 'Start Ant' marked build as failure
Finished: FAILURE

因此,在此输出中,我看到以下警告:

警告:找不到要复制的文件C:\ Program Files(x86)\ Jenkins \ workspace \ PGB Webapp \ pgb-
ejb \ $ {libs.MySQLDriver.classpath}。

现在,对我来说,这似乎是一个罕见的问题,因为我在互联网上几乎找不到任何东西(或者我使用了错误的搜索字词?)我已经在Google,SO和DuckDuckGo上进行了搜索,我可以只能找到以下有关我的问题的线索:(相当无用,因为此处提到了我得到的警告,但是上下文有所不同..)

https://netbeans.org/bugzilla/show_bug.cgi?id=128505和javafx
DataApp演示中的数据库错误

感谢您提供任何帮助,因为我对持续集成系统,开发Web应用程序和构建工具还是很陌生。

另外,我还没有对Maven或Gradle进行过多研究。因此,也许解决该问题的方法也可能是切换到另一个构建工具。


问题答案:

在我看来,好像没有定义libs.MySQLDriver.classpath属性。当Ant无法解析属性时,它将在输出中使用属性名称。

尝试定义

libs.MySQLDriver.classpath

在詹金斯的属性字段中,您还定义了其他两个属性。

您需要将其指向您的MySQL JDBC驱动程序。



 类似资料:
  • 我是詹金斯的新手,运气不太好。我正在尝试用maven构建我的spring boot应用程序。它成功地构建,直到我在调用顶级Maven目标中添加命令“clean compile package”。 构建失败。 我该如何解决这个问题?

  • 我在Mac 10.7.5上使用Ant 1.9,我刚刚安装了Ivy。我在下载依赖项时遇到了问题。我有这个build.xml文件和我的Ivy解析目标。 那么我有这棵常春藤。xml文件与我的构建版本处于同一级别。xml文件: 但是当我运行我的蚂蚁目标时,一切都悬而未决 为了解决依赖关系并启动我的目标,我还缺少什么?

  • 在调试模式下启动sdk gphone x86 arm上的lib\main.dart...lib\main.dart 失败:生成失败,出现异常。 null 失败:生成失败,出现异常。 > 其中:构建文件'c:\flutter\flutter.pub-cache\hosted\pub.dartlang.org\flutter_local_notifications-3.0.1+2\android\Bu

  • 问题内容: 我不确定这是否应该是stackoverflow或serverfault问题。 我安装了Meteor的accounts-password模块,该模块在本地工作,但是在部署到服务器时破坏了我的应用程序。这是独家新闻: 我正在OSX本地运行最新的Meteor 1.0.5(刚刚完全更新了OS),使用–architecture os.linux.x86_64构建部署到Ubuntu 14.04.2

  • 问题内容: 很长时间以来,我一直在从事与离子相关的项目。 最近,我更新了android studio及其软件包,由于以下问题,我现在无法在android上进行构建: com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:com / google / android / gms / iid

  • 我正在RHEL原子主机上尝试OO。我按照本指南将OO master作为容器旋转https://docs.openshift.org/latest/getting_started/administrators.html 将shell附加到主容器后,我无法部署应用程序。 主机需要代理才能访问互联网。我已经在 /etc/sysconfig/docker 中配置了代理,这就是我可以在同一位置拉取源映像的方