创建并运行多项目gradle构建

时间:2017-09-11 14:29:35

标签: eclipse gradle dependencies

以下问题: 我的目标是创建一个由两个eclipse项目组成的Java App (我正在使用日食氧气),然后使用gradle和 最后执行.jar文件。 第一个名为MPF的项目是独立的,提供了一些功能。 这是build.gradle文件的内容:

apply plugin: 'java-library'
apply plugin: 'eclipse'

repositories {
    jcenter()
}

dependencies {
    testCompile 'junit:junit:4.12'
}

第二个项目,称为MP,提供了一些其他功能和主要功能 方法。这取决于MPF包。这是build.gradle文件的内容:

apply plugin: 'java'
apply plugin: 'eclipse'

repositories {
   jcenter()
}

dependencies {    
   testCompile 'junit:junit:4.12'
   compile project(':MPF')
}

jar {
    manifest {
        attributes 'Main-Class': 'mypackage.StartApp'
    }
}

MPmain项目是根项目,包含settings.gradle文件 看起来像这样

rootProject.name = 'MPmain'

include   ':MPF', ':MP'
project(':MPF').projectDir = new File(settingsDir, '../MPF')
project(':MP').projectDir = new File(settingsDir, '../MP')

和build.gradle文件

apply plugin: 'java'
apply plugin: 'eclipse'

repositories {
    jcenter()
}

dependencies {
    compile project(':MPF')
    compile project(':MP')
}

构建成功,但是当我执行jar文件时,我得到以下内容 消息:

C:\examples\workspace_tests\MP\build\libs>java -jar MP.jar
Exception in thread "main" java.lang.NoClassDefFoundError: mypackage/StringData
    at mypackage.StartApp.main(StartApp.java:7)
Caused by: java.lang.ClassNotFoundException: mypackage.StringData
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 1 more

StringData类位于MPF包中,找不到 在运行构建的jar文件时。 似乎gradle配置文件中缺少某些内容。 有人有想法吗?

0 个答案:

没有答案