Maven/Spring/MVC Web app-错误无法TalendJob(第三方Talend
我正在Eclipse中开发一个Spring/MVC/Maven Web应用程序。该应用程序的用例是使用参数临时调用Talend jobs。用户在表单页面上输入时间框架信息(年、月)。在我添加所需的Talend JAR之前,一切都正常工作(表单、验证、模型、配置、错误检查等) 一些背景-我在Eclipse中成功创建了一个具有相同用例的简单Web应用程序。对于这个应用程序,我需要将Talend JAR放入Maven/Spring/MVC Web app-错误无法TalendJob(第三方Talend,spring,eclipse,maven,tomcat7,talend,Spring,Eclipse,Maven,Tomcat7,Talend,我正在Eclipse中开发一个Spring/MVC/Maven Web应用程序。该应用程序的用例是使用参数临时调用Talend jobs。用户在表单页面上输入时间框架信息(年、月)。在我添加所需的Talend JAR之前,一切都正常工作(表单、验证、模型、配置、错误检查等) 一些背景-我在Eclipse中成功创建了一个具有相同用例的简单Web应用程序。对于这个应用程序,我需要将Talend JAR放入Web-INF\lib文件夹。出于各种原因,我需要构建一个使用Spring/MVC/Maven技
Web-INF\lib
文件夹。出于各种原因,我需要构建一个使用Spring/MVC/Maven技术的Web应用程序。我将所有需要的Talend JAR加载到Web-INF\lib文件夹中e> 文件夹(与以前的Web应用完全相同)。我成功运行了Maven clean安装。但运行嵌入式Tomcat(7.2.2版)时产生了以下错误:
[错误]编译错误:
[错误]C:\Documents\TalendAdHoc\src\main\java\com\validator\UserValidator.java:[13]
错误:包talenddev1.job\u gl\u master\u ad\u hoc\u 0\u 3不存在
[错误]
C:\Documents\TalendAdHoc\src\main\java\com\validator\UserValidator.java:[141,7]
错误:找不到符号
然后,我从该站点执行以下步骤:
将第三方jar添加到Maven项目中(将jar安装到本地存储库中,将存储库和依赖项添加到pom.xml中,等等)。运行嵌入式Tomcat会产生以下错误:
[错误]编译错误:[错误]
C:\Documents\TalendAdHoc\src\main\java\com\validator\UserValidator.java:[155,16]
错误:无法访问TalendJob
`
我意识到这可能是Talend的问题,所以我也一直在与Talend社区合作
任何支持都将不胜感激。如果您需要更多信息,请告诉我
谢谢
这是我的pom.xml
`<modelVersion>4.0.0</modelVersion>
<groupId>com</groupId>
<artifactId>TalendAdHoc</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
<dependencies>
<!-- Spring MVC Dependency -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<!-- JSTL Dependency -->
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>javax.servlet.jsp.jstl-api</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<!-- Servlet Dependency -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<!-- JSP Dependency -->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.talend</groupId>
<artifactId>job_gl_master_ad_hoc_0_3</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/lib/job_gl_master_ad_hoc_0_3.jar
</systemPath>
</dependency>
<dependency>
<groupId>org.talend</groupId>
<artifactId>job_gl_refresh_transaction_ad_hoc_0_2</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}
/src/lib/job_gl_refresh_transaction_ad_hoc_0_2.jar
</systemPath>
</dependency>
<dependency>
<groupId>org.talend</groupId>
<artifactId>job_gl_load_transaction_ad_hoc_0_2</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}
/src/lib/job_gl_load_transaction_ad_hoc_0_2.jar
</systemPath>
</dependency>
<dependency>
<groupId>org.talend</groupId>
<artifactId>job_gl_load_summary_ad_hoc_0_1</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}
/src/lib/job_gl_load_summary_ad_hoc_0_1.jar
</systemPath>
</dependency>
<dependency>
<groupId>org.talend</groupId>
<artifactId>job_gl_load_project_ad_hoc_0_1</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}
/src/lib/job_gl_load_project_ad_hoc_0_1.jar
</systemPath>
</dependency>
</dependencies>
<build>
<sourceDirectory>src/main/java</sourceDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<fork>true</fork>
<executable>C:\Program Files\Java\jdk1.8.0_201\bin\javac.exe
</executable>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<!-- Embedded Apache Tomcat required for testing war -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<path>/</path>
</configuration>
</plugin>
</plugins>
</build>
</project>`
`4.0.0
通用域名格式
塔伦达霍克
0.0.1-快照
战争
假的
org.springframework
SpringWebMVC
4.3.7.1发布
javax.servlet.jsp.jstl
javax.servlet.jsp.jstl-api
1.2.1
塔格利布
标准
1.1.2
javax.servlet
javax.servlet-api
3.1.0
假如
javax.servlet.jsp
javax.servlet.jsp-api
2.3.1
假如
org.talend
作业\u总账\u主控\u临时\u 0\u 3
1
系统
${project.basedir}/src/lib/job\u gl\u master\u ad\u hoc\u 0\u 3.jar
org.talend
作业\u总账\u刷新\u事务\u临时\u 0\u 2
1
系统
${project.basedir}
/src/lib/job\u gl\u refresh\u transaction\u ad\u hoc\u 0\u 2.jar
org.talend
作业\u总账\u加载\u事务\u临时\u 0\u 2
1
系统
${project.basedir}
/src/lib/job\u gl\u load\u transaction\u ad\u hoc\u 0\u 2.jar
org.talend
作业\u总账\u加载\u摘要\u临时\u 0\u 1
1
系统
${project.basedir}
/src/lib/job\u gl\u load\u summary\u ad\u hoc\u 0\u 1.jar
org.talend
作业\u总账\u加载\u项目\u临时\u 0\u 1
1
系统
${project.basedir}
/src/lib/job\u gl\u load\u project\u ad\u hoc\u 0\u 1.jar
src/main/java
src/main/resources
org.apache.maven.plugins
maven编译器插件
3.5.1
1.8
1.8
maven编译器插件
3.5.1
真的
C:\ProgramFiles\Java\jdk1.8.0\u 201\bin\javac.exe
1.8
1.8
org.apache.tomcat.maven
tomcat7 maven插件
2.2
/
`
下面是UserValidator.java:
`package com.validator;
import java.util.Calendar;
import org.springframework.stereotype.Component;
import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;
import com.model.User;
import talenddev1.job_gl_master_ad_hoc_0_3.job_GL_Master_Ad_Hoc;
@Component
public class UserValidator implements Validator {
@Override
public boolean supports(Class<?> clazz) {
return User.class.equals(clazz);
}
@Override
public void validate(Object obj, Errors err) {
User user = (User) obj;
Calendar cal = Calendar.getInstance();
set vars...
validation code...
error handling code...
}
job_GL_Master_Ad_Hoc talendJob = new job_GL_Master_Ad_Hoc();
String[] context = new String[] {
"--context_param Host_Analytics_CurrentYear=" + currentYear,
"--context_param Host_Analytics_CurrentYearStart=" +
currentYearStart,
"--context_param Host_Analytics_CurrentYearEnd=" + currentYearEnd,
"--context_param Host_Analytics_PreviousYear=" + previousYear,
"--context_param Host_Analytics_PreviousYearStart=" +
previousYearStart,
"--context_param Host_Analytics_PreviousYearEnd=" +
previousYearEnd,
"--context_param Host_Analytics_Transaction_Flag=" +
transactionFlag,
"--context_param Host_Analytics_Summary_Flag=" + summaryFlag,
"--context_param Host_Analytics_Project_Flag=" + projectFlag };
talendJob.runJob(context);
}
}`
`package com.validator;
导入java.util.Calendar;
导入org.springframework.stereotype.Component;
导入org.springframework.validation.Errors;
导入org.springframework.validation.ValidationUtils;
导入org.springframework.validation.Validator;
导入com.model.User;
导入talenddev1.job\u gl\u master\u ad\u hoc\u 0\u 3.job\u gl\u master\u ad\u hoc;
@组成部分
公共类UserValidator实现验证器{
@凌驾
公共布尔支持(类clazz){
返回User.class.equals(clazz);
}
@凌驾
公共无效验证(对象对象对象,错误错误){
用户=(用户)对象;
Calendar cal=Calendar.getInstance();
设置变量。。。
验证代码。。。
错误处理代码。。。
}
job_GL_Master_Ad_Hoc talendJob=新job_GL_Master_Ad_Hoc();
字符串[]上下文=新字符串[]{
“--context_param Host_Analytics_CurrentYear=“+CurrentYear,
“--上下文参数主机分析当前年份开始=”+
今年开始,
“--context_param Host_Analytics_CurrentYearEnd=“+CurrentYearEnd,
“--context_param Host_Analytics_PreviousYear=“+PreviousYear,
“--context_param Host_Analytics_PreviousYearStart=”+
上一年开始,
“--context_param Host_Analytics_PreviousYearEnd=”+
去年年底,,
“--上下文参数主机分析事务标志=”+
transactionFlag,
“--context_param Host_Analytics_Summary_Flag=“+summaryFlag,
“--context_param Host_Analytics_Project_Flag=“+projectFlag};
talendJob.runJob(上下文);
}
}`
Hi.Spring不提供嵌入式Tomcat,而Spring Boot提供。如果你使用Maven,为什么要手动添加JAR?嗨,我是个新手,所以我从这个网站创建了web应用程序:然后修改它以满足我的用例,etcI建议查看Spring Boot及其web应用程序的文档……没问题,让我们来看看首先,你知道maven是如何工作的吗?你能在你的问题中添加pom.xml文件吗?好的,我添加了pom.xml和UserValidator.javaHi。Spring不提供嵌入式Tomcat,而Spring Boot提供。如果你使用maven,为什么要手动添加JAR?嗨,我是新手,所以我从这个网站创建了web应用程序:然后是mod为了满足我的使用案例,etcI建议您查看spring boot及其web应用程序的文档……没问题,让我们来尝试解决它。首先,您知道maven是如何工作的吗?您可以将pom.xml文件添加到您的问题中吗?好的,我添加了pom.xml和UserValidator.java
`package com.validator;
import java.util.Calendar;
import org.springframework.stereotype.Component;
import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;
import com.model.User;
import talenddev1.job_gl_master_ad_hoc_0_3.job_GL_Master_Ad_Hoc;
@Component
public class UserValidator implements Validator {
@Override
public boolean supports(Class<?> clazz) {
return User.class.equals(clazz);
}
@Override
public void validate(Object obj, Errors err) {
User user = (User) obj;
Calendar cal = Calendar.getInstance();
set vars...
validation code...
error handling code...
}
job_GL_Master_Ad_Hoc talendJob = new job_GL_Master_Ad_Hoc();
String[] context = new String[] {
"--context_param Host_Analytics_CurrentYear=" + currentYear,
"--context_param Host_Analytics_CurrentYearStart=" +
currentYearStart,
"--context_param Host_Analytics_CurrentYearEnd=" + currentYearEnd,
"--context_param Host_Analytics_PreviousYear=" + previousYear,
"--context_param Host_Analytics_PreviousYearStart=" +
previousYearStart,
"--context_param Host_Analytics_PreviousYearEnd=" +
previousYearEnd,
"--context_param Host_Analytics_Transaction_Flag=" +
transactionFlag,
"--context_param Host_Analytics_Summary_Flag=" + summaryFlag,
"--context_param Host_Analytics_Project_Flag=" + projectFlag };
talendJob.runJob(context);
}
}`