Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
tomcat+;詹金斯&x2B;Java EE source=编译失败_Java_Jakarta Ee_Ant_Jboss_Jenkins - Fatal编程技术网

tomcat+;詹金斯&x2B;Java EE source=编译失败

tomcat+;詹金斯&x2B;Java EE source=编译失败,java,jakarta-ee,ant,jboss,jenkins,Java,Jakarta Ee,Ant,Jboss,Jenkins,我很难用运行在tomcat6(Centos 6.x)上的Jenkins编译我的非常简单的JavaEE源代码。我试过下载JBoss,但找不到JavaEEJAR文件,所以我可以在我的ANT脚本中包含这些文件。我从Oracle下载了JavaEE,这是一个.shshell脚本(80mb),我猜它通过提取或编译各种JAR来“安装”JavaEE。问题是它不会运行,因为Oracle shell脚本需要一个X11实例才能运行(GUI)。。。但这是一个无头服务器 目标是让一个使用JavaEE的项目每晚都能正常工作

我很难用运行在tomcat6(Centos 6.x)上的Jenkins编译我的非常简单的JavaEE源代码。我试过下载JBoss,但找不到JavaEEJAR文件,所以我可以在我的ANT脚本中包含这些文件。我从Oracle下载了JavaEE,这是一个.shshell脚本(80mb),我猜它通过提取或编译各种JAR来“安装”JavaEE。问题是它不会运行,因为Oracle shell脚本需要一个X11实例才能运行(GUI)。。。但这是一个无头服务器

目标是让一个使用JavaEE的项目每晚都能正常工作

我需要找到如何只在JavaEE库中使用JBoss(这样我就可以编译我的代码),或者需要设法让oracle的产品发挥作用?或者我的设置还有其他选项吗

下面是我的Jenkins/Ant日志输出:

build-project:
 [echo] JUtils: /usr/share/tomcat6/.jenkins/jobs/JUtils-Nightly/workspace/build.xml
[javac] Compiling 27 source files to /usr/share/tomcat6/.jenkins/jobs/JUtils-Nightly/workspace/target/tmp
[javac] /usr/share/tomcat6/.jenkins/jobs/JUtils-Nightly/workspace/src/net/snakedoc/jutils/SendEmail.java:21: error: package javax.mail does not exist
[javac] import javax.mail.Message;
[javac]                  ^
[javac] /usr/share/tomcat6/.jenkins/jobs/JUtils-Nightly/workspace/src/net/snakedoc/jutils/SendEmail.java:22: error: package javax.mail does not exist
[javac] import javax.mail.MessagingException;
[javac]                  ^
[javac] /usr/share/tomcat6/.jenkins/jobs/JUtils-Nightly/workspace/src/net/snakedoc/jutils/SendEmail.java:23: error: package javax.mail does not exist
[javac] import javax.mail.Session;
[javac]                  ^
[javac] /usr/share/tomcat6/.jenkins/jobs/JUtils-Nightly/workspace/src/net/snakedoc/jutils/SendEmail.java:24: error: package javax.mail does not exist
[javac] import javax.mail.Transport;
[javac]                  ^
[javac] /usr/share/tomcat6/.jenkins/jobs/JUtils-Nightly/workspace/src/net/snakedoc/jutils/SendEmail.java:25: error: package javax.mail.internet does not exist
[javac] import javax.mail.internet.AddressException;
[javac]                           ^
[javac] /usr/share/tomcat6/.jenkins/jobs/JUtils-Nightly/workspace/src/net/snakedoc/jutils/SendEmail.java:26: error: package javax.mail.internet does not exist
[javac] import javax.mail.internet.InternetAddress;
[javac]                           ^
[javac] /usr/share/tomcat6/.jenkins/jobs/JUtils-Nightly/workspace/src/net/snakedoc/jutils/SendEmail.java:27: error: package javax.mail.internet does not exist
[javac] import javax.mail.internet.MimeMessage;
[javac]                           ^
[javac] /usr/share/tomcat6/.jenkins/jobs/JUtils-Nightly/workspace/src/net/snakedoc/jutils/SendEmail.java:51: error: cannot find symbol
[javac]             throws AddressException, MessagingException {
[javac]                    ^
[javac]   symbol:   class AddressException
[javac]   location: class SendEmail
[javac] /usr/share/tomcat6/.jenkins/jobs/JUtils-Nightly/workspace/src/net/snakedoc/jutils/SendEmail.java:51: error: cannot find symbol
[javac]             throws AddressException, MessagingException {
[javac]                                      ^
[javac]   symbol:   class MessagingException
[javac]   location: class SendEmail
[javac] /usr/share/tomcat6/.jenkins/jobs/JUtils-Nightly/workspace/src/net/snakedoc/jutils/SendEmail.java:63: error: cannot find symbol
[javac]         Session session = Session.getDefaultInstance(props, null);
[javac]         ^
[javac]   symbol:   class Session
[javac]   location: class SendEmail
[javac] /usr/share/tomcat6/.jenkins/jobs/JUtils-Nightly/workspace/src/net/snakedoc/jutils/SendEmail.java:63: error: cannot find symbol
[javac]         Session session = Session.getDefaultInstance(props, null);
[javac]                           ^
[javac]   symbol:   variable Session
[javac]   location: class SendEmail
[javac] /usr/share/tomcat6/.jenkins/jobs/JUtils-Nightly/workspace/src/net/snakedoc/jutils/SendEmail.java:64: error: cannot find symbol
[javac]         MimeMessage message = new MimeMessage(session);
[javac]         ^
[javac]   symbol:   class MimeMessage
[javac]   location: class SendEmail
[javac] /usr/share/tomcat6/.jenkins/jobs/JUtils-Nightly/workspace/src/net/snakedoc/jutils/SendEmail.java:64: error: cannot find symbol
[javac]         MimeMessage message = new MimeMessage(session);
[javac]                                   ^
[javac]   symbol:   class MimeMessage
[javac]   location: class SendEmail
[javac] /usr/share/tomcat6/.jenkins/jobs/JUtils-Nightly/workspace/src/net/snakedoc/jutils/SendEmail.java:65: error: cannot find symbol
[javac]         message.setFrom(new InternetAddress(from));
[javac]                             ^
[javac]   symbol:   class InternetAddress
[javac]   location: class SendEmail
[javac] /usr/share/tomcat6/.jenkins/jobs/JUtils-Nightly/workspace/src/net/snakedoc/jutils/SendEmail.java:67: error: cannot find symbol
[javac]         InternetAddress[] toAddress = new InternetAddress[to.length];
[javac]         ^
[javac]   symbol:   class InternetAddress
[javac]   location: class SendEmail
[javac] /usr/share/tomcat6/.jenkins/jobs/JUtils-Nightly/workspace/src/net/snakedoc/jutils/SendEmail.java:67: error: cannot find symbol
[javac]         InternetAddress[] toAddress = new InternetAddress[to.length];
[javac]                                           ^
[javac]   symbol:   class InternetAddress
[javac]   location: class SendEmail
[javac] /usr/share/tomcat6/.jenkins/jobs/JUtils-Nightly/workspace/src/net/snakedoc/jutils/SendEmail.java:71: error: cannot find symbol
[javac]             toAddress[i] = new InternetAddress(to[i]);
[javac]                                ^
[javac]   symbol:   class InternetAddress
[javac]   location: class SendEmail
[javac] /usr/share/tomcat6/.jenkins/jobs/JUtils-Nightly/workspace/src/net/snakedoc/jutils/SendEmail.java:76: error: package Message does not exist
[javac]             message.addRecipient(Message.RecipientType.TO, toAddress[i]);
[javac]                                         ^
[javac] /usr/share/tomcat6/.jenkins/jobs/JUtils-Nightly/workspace/src/net/snakedoc/jutils/SendEmail.java:82: error: cannot find symbol
[javac]         Transport transport = session.getTransport("smtp");
[javac]         ^
[javac]   symbol:   class Transport
[javac]   location: class SendEmail
[javac] 19 errors

BUILD FAILED
/usr/share/tomcat6/.jenkins/jobs/JUtils-Nightly/workspace/build.xml:54: Compile failed; see the compiler error output for details.

Total time: 4 seconds
Build step 'Invoke Ant' marked build as failure
Finished: FAILURE
编辑:(Ant构建脚本)



您当前的所有错误都与Java Mail有关

  • 您可以从页面下载JavaMail API库
  • 您可以从第页下载JEE6 SDK
另一方面,使用Maven会使这些依赖性问题变得微不足道

<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-web-api</artifactId>
    <version>6.0</version>
    <scope>provided</scope>
</dependency>

<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4.6</version>
</dependency>

爪哇
javaeewebapi
6
假如
javax.mail
邮件
1.4.6

我从Oracle下载了JavaEE供您参考,这通常被称为GlassFish。您尝试过吗?Tomcat是Web服务器而不是应用程序服务器,它不符合EE。虽然您对Java邮件库的理解是正确的,但我不明白OP为什么不能从JBoss或GlassFish jars=\。这将是一种获取编译依赖项的奇怪方式,对于编译依赖项,您只需要API库。JBoss/Glassfish/Weblogic等都提供了实现库。并不是所有的JBoss都包含容易提取的JAR——例如,JBoss7使用OSGI模块。我也有同样的编译错误。。。我原以为JBoss会拥有我的项目需要编译的所有东西。。但也许我做错了什么。查看我的Ant构建脚本上面的编辑…@Preception这对我来说很奇怪,我正在浏览提取的JBoss7目录,只在OSGI目录和一些名为javax的目录中运行。。。但是找不到我需要的JAR,或者似乎不知道如何将所有JAR加载到我的类路径中进行编译。@SnakeDoc-是的,JBoss7使用隐式模块来声明Java EE API依赖项。您可以在JBoss分发文件夹的modules/javaee/api/main下看到module.xml文件。但是里面没有罐子。我将在我的答案中添加JavaEE的Maven依赖项,以及在尝试设置Ant构建时下载JEEAPI的位置。
<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-web-api</artifactId>
    <version>6.0</version>
    <scope>provided</scope>
</dependency>

<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4.6</version>
</dependency>