我正在使用gradle编译imageJ并运行imageJ网站上的示例脚本。编译有效,但是运行程序时出现错误。
我的build.gradle文件如下:
apply plugin: 'java'
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "io.spring.gradle:dependency-management-plugin:1.0.8.RELEASE"
}
}
apply plugin: "io.spring.dependency-management"
repositories {
jcenter()
maven {
url "http://maven.imagej.net/content/groups/public/"
}
}
dependencyManagement {
imports {
mavenBom 'net.imagej:pom-imagej:14.1.0'
}
}
dependencies {
compile 'net.imagej:imagej'
}
jar {
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
manifest {
attributes 'Main-class': 'test.LoadAndDisplayDataset'
}
}
我的java文件位于src / main / java / LoadAndDisplayDataset.java:
import java.io.File;
import net.imagej.Dataset;
import net.imagej.ImageJ;
/** Loads and displays a dataset using the ImageJ API. */
public class LoadAndDisplayDataset {
public static void main(final String... args) throws Exception {
// create the ImageJ application context with all available services
final ImageJ ij = new ImageJ();
System.out.println("Reached");
// ask the user for a file to open
final File file = ij.ui().chooseFile(null, "open");
// load the dataset
final Dataset dataset = ij.scifio().datasetIO().open(file.getPath());
// display the dataset
ij.ui().show(dataset);
}
即使抛出错误,使用gradle build
编译也会成功:
从> /Users/luczeng/.gradle/caches/modules-2/files-> 2.1 / com.miglayout / miglayout / 3.7.4 / d21395ee50f05dafa5fe7c2f2b587318dd3a> 78b3 / miglayout-3.7.4建立有效模型时发生错误。 pom: 'profiles.profile.id'必须是唯一的,但是在com.miglayout:miglayout:3.7.4中发现重复的配置文件> ID为默认值 'profiles.profile.id'必须是唯一的,但是在com.miglayout:miglayout:3.7.4中发现重复的配置文件> ID为默认值 “ profiles.profile.id”必须是唯一的,但在com.miglayout:miglayout:3.7.4
中发现重复的ID>默认为ID的配置文件在10秒钟内成功完成
但是,当我运行java -jar build/libs/testGrad.jar
时,出现以下错误:
线程“主”中的异常java.lang.IllegalArgumentException:否>兼容的服务:io.scif.SCIFIOService 在> org.scijava.service.ServiceHelper.loadService(ServiceHelper.java:243) 在> org.scijava.service.ServiceHelper.loadService(ServiceHelper.java:194) 在> org.scijava.service.ServiceHelper.loadServices(ServiceHelper.java:170) 在org.scijava.Context。(Context.java:267) 在org.scijava.Context。(Context.java:224) 在org.scijava.Context。(Context.java:163) 在org.scijava.Context。(Context.java:149) 在net.imagej.ImageJ。(ImageJ.java:79) 在> test.LoadAndDisplayDataset.main(LoadAndDisplayDataset.java:20)