Java Eclipse Gradle项目中的依赖关系突然丢失
我正在使用EclipseOxygen中的一个Gradle项目,使用Java8和Gradle包装器4.6 当我试图添加一个新的依赖项Java Eclipse Gradle项目中的依赖关系突然丢失,java,eclipse,gradle,Java,Eclipse,Gradle,我正在使用EclipseOxygen中的一个Gradle项目,使用Java8和Gradle包装器4.6 当我试图添加一个新的依赖项编译'com.googlecode.json simple:json simple:1.1.1'并刷新项目时,所有的“项目和外部依赖项”文件夹消失得无影无踪,这会阻止我的项目从Eclipse运行(但它可以通过Gradle run任务运行) 删除新添加的依赖项不会保存我。无论是gradlew-cleaneeclipse&gradlew-eclipse还是无数次刷新项目
编译'com.googlecode.json simple:json simple:1.1.1'
并刷新项目时,所有的“项目和外部依赖项”文件夹消失得无影无踪,这会阻止我的项目从Eclipse运行(但它可以通过Gradle run任务运行)
删除新添加的依赖项不会保存我。无论是gradlew-cleaneeclipse&gradlew-eclipse
还是无数次刷新项目
我还试图清除缓存,并在重新导入时强制项目重建,但没有显示“项目和外部依赖项”
我应该怎么做才能恢复旧的依赖关系
这是我的build.gradle
// Apply the java plugin to add support for Java
apply plugin: 'java'
// Apply the plugin to be runnable
apply plugin: 'application'
// Apply the eclipse plugin to import project on other machines
apply plugin: 'eclipse'
// JUnit 5
apply plugin: 'org.junit.platform.gradle.plugin'
// Define the entry point
mainClassName = 'meshIneBits.MeshIneBitsMain'
applicationName = 'MeshIneBits'
// In this section you declare where to find the dependencies of your project
repositories {
// Use 'jcenter' for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
jcenter()
}
sourceCompatibility = 1.8
// In this section you declare the dependencies for your production and test code
dependencies {
compile 'org.processing:core:3.3.5'
compile 'org.jogamp.jogl:jogl-all:2.3.2'
compile 'org.jogamp.gluegen:gluegen-rt:2.3.2'
runtime "org.jogamp.gluegen:gluegen-rt:2.3.2:natives-linux-amd64"
runtime "org.jogamp.gluegen:gluegen-rt:2.3.2:natives-linux-armv6"
runtime "org.jogamp.gluegen:gluegen-rt:2.3.2:natives-linux-armv6hf"
runtime "org.jogamp.gluegen:gluegen-rt:2.3.2:natives-linux-i586"
runtime "org.jogamp.gluegen:gluegen-rt:2.3.2:natives-macosx-universal"
runtime "org.jogamp.gluegen:gluegen-rt:2.3.2:natives-windows-amd64"
runtime "org.jogamp.gluegen:gluegen-rt:2.3.2:natives-windows-i586"
runtime "org.jogamp.jogl:jogl-all:2.3.2:natives-linux-amd64"
runtime "org.jogamp.jogl:jogl-all:2.3.2:natives-linux-armv6"
runtime "org.jogamp.jogl:jogl-all:2.3.2:natives-linux-armv6hf"
runtime "org.jogamp.jogl:jogl-all:2.3.2:natives-linux-i586"
runtime "org.jogamp.jogl:jogl-all:2.3.2:natives-macosx-universal"
runtime "org.jogamp.jogl:jogl-all:2.3.2:natives-solaris-i586"
runtime "org.jogamp.jogl:jogl-all:2.3.2:natives-windows-amd64"
runtime "org.jogamp.jogl:jogl-all:2.3.2:natives-windows-i586"
testCompile('org.junit.jupiter:junit-jupiter-api:5.1.0',
'org.junit.jupiter:junit-jupiter-params:5.1.0')
testRuntime('org.junit.jupiter:junit-jupiter-engine:5.1.0',
'org.junit.platform:junit-platform-launcher:1.1.0')
}
eclipse {
project.natures 'org.eclipse.buildship.core.gradleprojectnature'
classpath {
file {
defaultOutputDir = file('bin/main')
whenMerged {
//change output folder for tests
def testsrc = entries.find { it.path == 'src/test/java' }
testsrc.output = "bin/test"
def testres = entries.find { it.path == 'src/test/resources' }
testres.output = "bin/test"
// Remove local ref for libs
entries.removeAll{ it.kind == "lib" }
}
containers 'org.eclipse.jdt.junit.JUNIT_CONTAINER/5', 'org.eclipse.buildship.core.gradleclasspathcontainer' }
}
}
buildscript {
repositories { mavenCentral() }
dependencies { classpath 'org.junit.platform:junit-platform-gradle-plugin:1.1.0' }
}
jar {
baseName = applicationName
version = '0.2.0'
manifest { attributes 'Main-Class' : mainClassName }
}
编辑:
切换到IntelliJ后,问题就解决了(我使用了project的同一文件夹)。因此,我认为这是Eclipse中的一个问题。在“项目和外部依赖项”文件夹消失的地方,我也遇到了这个问题。它显示为“org.eclipse.buildship.core.gradleclasspathcontainer” 如果看不到该行,则需要将其添加到.classpath文件中
<classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer" />
然后打开Eclipse并将Gradle特性添加到项目中。在重构项目名称时,我也遇到了这个问题 以下步骤解决了我的问题:
eclipse
插件添加到build.gradle
build.gradle
,选择gradle
,然后选择refresh gradle project
刷新gradle项目
对我没有帮助
gradlew cleanEclipse eclipse