由于推荐的Jar中缺少工件,无法从Java启动简单的Pentaho作业

时间:2017-08-23 10:43:57

标签: java intellij-idea gradle pentaho kettle

我正在尝试从Java启动一个简单的Pentaho(Kettle / Spoon)Job(.ktr)。我的项目依赖项配置了graddle所以理论上我只需添加pentaho-kettle和pentaho-big-data-plugin模块作为依赖项来启动工作。

问题是pentaho-big-data-plugin模块出现错误:它不包含jsf-api:1.1 jar,因此项目无法编译。

这是我的build.gradle:

compile group: 'pentaho-kettle', name: 'kettle-core', version: '7.1.0.0-12'
compile group: 'pentaho-kettle', name: 'kettle-dbdialog', version: '7.1.0.0-12'
compile group: 'pentaho-kettle', name: 'kettle-engine', version: '7.1.0.0-12'
compile 'pentaho:pentaho-big-data-plugin:7.1.0.0-12'

以下是IntelliJ在尝试编译时提供的错误:

  

警告: 根项目'tfg-j-hipster-app':Web Facets / Artifacts   将无法正确配置详细信息:   org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration $ ArtifactResolveException:   无法解析配置':runtimeClasspath'的所有文件。   引起:org.gradle.internal.resolve.ArtifactNotFoundException:   找不到jsf-api.jar(javax.faces:jsf-api:1.1)。在中搜索   以下地点:       https://repo1.maven.org/maven2/javax/faces/jsf-api/1.1/jsf-api-1.1.jar

以下是我正在搜索的存储库:

repositories {
    mavenLocal()
    mavenCentral()
    jcenter()
    maven { url 'http://repo.spring.io/milestone' }
    maven { url 'http://repo.spring.io/snapshot' }
    maven { url 'https://repository.jboss.org/nexus/content/repositories/releases' }
    maven { url 'https://oss.sonatype.org/content/repositories/releases' }
    maven { url 'https://oss.sonatype.org/content/repositories/snapshots' }
    maven { url 'http://repo.maven.apache.org/maven2' }

    // My repositories
    maven { url 'http://nexus.pentaho.org/content/groups/omni' }
}

我的Pentaho版本是7.1.0.0-12。

1 个答案:

答案 0 :(得分:0)

如果您从SourceForge下载已编译的软件包,您应该获得所有需要的jar使用您正在使用的Pentaho版本。

现在,就jsf-api而言,谷歌find jar for jsf-api上的第4个响应是https://mvnrepository.com/artifact/com.sun.faces/jsf-api。请找到合适的版本。

但是,我想知道运行时错误如何阻止您的类编译。您的 也许是其他的错误。