将Grails应用程序从2.2.0升级到2.2.1后,尝试通过调试从GGTS调试Grails应用程序时出现以下错误... - > Grails命令(run-app):
Error starting Grails: nulljava.lang.ExceptionInInitializerError
at org.codehaus.groovy.runtime.InvokerHelper.<clinit>(InvokerHelper.java:62)
at groovy.lang.GroovyObjectSupport.<init>(GroovyObjectSupport.java:32)
at groovy.lang.Closure.<init>(Closure.java:221)
at groovy.lang.Closure.<init>(Closure.java:238)
at groovy.lang.Closure$1.<init>(Closure.java:205)
at groovy.lang.Closure.<clinit>(Closure.java:205)
at org.codehaus.groovy.grails.cli.GrailsScriptRunner.<clinit>(GrailsScriptRunner.java:84)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1243)
at org.codehaus.groovy.grails.cli.support.GrailsStarter.rootLoader(GrailsStarter.java:234)
at org.codehaus.groovy.grails.cli.support.GrailsStarter.main(GrailsStarter.java:262)
Caused by: groovy.lang.GroovyRuntimeException: Conflicting module versions. Module [groovy-all is loaded in version 2.0.5 and you are trying to load version 2.0.7
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerExtensionModuleFromProperties(MetaClassRegistryImpl.java:186)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerExtensionModuleFromMetaInf(MetaClassRegistryImpl.java:174)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerClasspathModules(MetaClassRegistryImpl.java:156)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:111)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:73)
at groovy.lang.GroovySystem.<clinit>(GroovySystem.java:33)
... 14 more
Run Code Online (Sandbox Code Playgroud)
我正在使用Groovy编译器2.0功能2.7.1.xx-20120921-2000-e42RELEASE和Groovy/Grails工具套件3.1.0.201210061306-RELEASE-e42运行GGTS 3.1.0.RELEASE.该项目已配置Groovy Compiler level 2.0.Eclipse首选项说"您当前正在使用Groovy Compiler版本2.0.4.xx-20120921-2000-e42RELEASE".
任何提示?
我有一个SQuirreL SQL客户端插件的想法,我想知道如何制作一个插件.我的插件将是一个查询构建器UI,需要访问模式模型,包括表,列,主键,外键和约束等.
我在网上搜索了SQurreL插件信息/教程,我找不到多少.我能找到的最好的是维基百科,这是非常简短的.
如果您有任何关于创建SQuirreL插件的链接,教程,示例或任何其他信息,请在此处发布.
谢谢
我想编写一个Gradle插件,它可以检查eclipse工作区目录并迭代工作区内的打开项目并确定每个项目的位置.
就像是
Workspace workspace = EclipseUtils.parseWorkspace("c:/myEclipseWorkspace");
Collection<Project> projects = workspace.getProjects();
for (Project project : projects) {
System.out.println(String.format("name=%s, location=%s, open=%s",
project.getName(), project.getLocation(), project.isOpen()));
}
Run Code Online (Sandbox Code Playgroud)
我查看了我的工作区,可以看到一些.location文件c:\myEclipseWorkspace\.metadata\.plugins\org.eclipse.core.resources\.projects\
是否有一个eclipse API,我可以调用它来解析这些?或者一些其他解决方案来迭代工作空间中的打开项目.
请注意,我想在eclipse外部执行此操作,而不是在eclipse插件中执行此操作.
我正在寻找一个工具,它将以图形方式显示Gradle脚本的任务依赖图,但找不到任何.请提及您可以使用的工具,或解释是否无法完成此操作.谢谢!
我正在尝试使用Hibernate Search来使用在Amazon S3上托管的Lucene索引,但是我得到以下异常:
Exception in thread "LuceneIndexesData-CloudCacheStore-0" java.lang.IllegalArgumentException: bucketId: A96137216.bz2 (expected: integer)
at org.infinispan.loaders.bucket.Bucket.setBucketId(Bucket.java:84)
at org.infinispan.loaders.cloud.CloudCacheStore.readFromBlob(CloudCacheStore.java:450)
at org.infinispan.loaders.cloud.CloudCacheStore.scanBlobForExpiredEntries(CloudCacheStore.java:292)
at org.infinispan.loaders.cloud.CloudCacheStore.purge(CloudCacheStore.java:284)
at org.infinispan.loaders.cloud.CloudCacheStore.purgeInternal(CloudCacheStore.java:336)
at org.infinispan.loaders.AbstractCacheStore$2.run(AbstractCacheStore.java:111)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud)
在s3中持久化lucene索引的文档有点稀疏但我认为我在正确的轨道上.我正在尝试在我的应用程序中嵌入infinispan,所以我在hibernate.cfg.xml中指定了infinispan XML的路径如下所示
<property name="hibernate.search.default.directory_provider">infinispan</property>
<property name="hibernate.search.infinispan.configuration_resourcename">infinispan-amazons3.xml</property>
<property name="hibernate.search.infinispan.chunk_size">300000000</property>
Run Code Online (Sandbox Code Playgroud)
而我的infinispan-amazons3.xml是:
<infinispan>
<default>
<loaders>
<cloudStore xmlns="urn:infinispan:config:cloud:5.3"
cloudService="aws-s3"
identity="user"
password="password"
bucketPrefix="bucket">
</cloudStore>
</loaders>
</default>
</infinispan>
Run Code Online (Sandbox Code Playgroud)
我正在使用以下版本(maven pom.xml)
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search</artifactId>
<version>4.4.4.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search-infinispan</artifactId>
<version>4.4.4.Final</version>
</dependency>
<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-cachestore-cloud</artifactId>
<version>5.3.0.Final</version>
</dependency>
<dependency>
<groupId>org.jclouds.provider</groupId>
<artifactId>aws-s3</artifactId>
<version>1.4.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
任何有关使用hibernate-search和Amazon S3的帮助都表示赞赏.
提前致谢.
我想为多模块构建中的所有子项目生成有效的pom.
这里的help:effective-pom文档说明
它将迭代当前构建会话中的所有项目,为每个项目打印有效的POM
我正在这个maven项目mvn help:effective-pom的根目录中运行,它只生成根目录而不是子项目.
为什么不为所有项目生成有效的pom.注意:我有另一个真实世界的maven项目,mvn help:effective-pom它正确地为每个子模块生成一个<projects>嵌套的标记<project>.我不确定为什么它不适用于这个maven项目
这是生成的有效pom
<!-- ====================================================================== -->
<!-- -->
<!-- Generated by Maven Help Plugin on 2017-11-12T09:56:26 -->
<!-- See: http://maven.apache.org/plugins/maven-help-plugin/ -->
<!-- -->
<!-- ====================================================================== -->
<!-- ====================================================================== -->
<!-- -->
<!-- Effective POM for project -->
<!-- 'org.gradle.test.performance:project:pom:1.0' -->
<!-- -->
<!-- ====================================================================== -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.gradle.test.performance</groupId>
<artifactId>project</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<modules>
<module>project0</module>
<module>project1</module>
<module>project2</module>
<module>project3</module>
<module>project4</module>
<module>project5</module> …Run Code Online (Sandbox Code Playgroud) 考虑以下构建脚本,其中
addToMyConfig增加了一个依赖于配置命名myConfiguseMyConfig消耗myConfig Configuration并强制其resolve()。
configurations {
myConfig
}
task addToMyConfig {
doLast {
println "Doing some work"
dependencies {
myConfig 'log4j:log4j:1.2.17'
}
}
}
task useMyConfig {
doLast {
println "myConfig = $configurations.myConfig.files"
}
}
Run Code Online (Sandbox Code Playgroud)
问题:是否有一种方法可以解决addToMyConfig每次configurations.myConfig解决问题,而无需添加依赖项useMyConfig取决于的任务addToMyConfig?
我想说:
configurations.myConfig.builtBy addToMyConfig
Run Code Online (Sandbox Code Playgroud)
** 我不想说 **
useMyConfig.dependsOn addToMyConfig
Run Code Online (Sandbox Code Playgroud)
我想避免,useMyConfig.dependsOn addToMyConfig因为可能有很多任务需要消耗configurations.myConfig
注意:如果ConfigurableFileCollection.builtBy(Object ... tasks)方法仅存在于Configuration接口上(配置扩展FileCollection),它将解决我的问题。
我正在使用OpenCSV来解析 csv 文件,这些文件在英国和德国运行时都需要工作。解析数字时,我们需要指定区域设置,以便 OpenCSV 知道哪个小数点分隔符(“.”表示英国,“,”表示德国)和千位分隔符(“,”表示英国,“.”表示德国)
执行此操作的一种选择是在每个@CsvBindByName实例上指定区域设置
public class MyRowBackingBean {
@CsvBindByName(column = "Quantity", locale = "en-GB")
@CsvNumber("#0.0#")
private BigDecimal quantity;
@CsvBindByName(column = "Amount", locale = "en-GB")
@CsvNumber("#0.0#")
private BigDecimal amount;
}
Run Code Online (Sandbox Code Playgroud)
我想避免为每个字段重复区域设置,因此我希望采用全局方式来执行此操作。
解析 csv 的代码如下所示:
char seperator = ';';
CSVParser parser = new CSVParserBuilder().withSeparator(separator).build();
MappingStrategy<R> mappingStrategy = new HeaderColumnNameMappingStrategy<>();
mappingStrategy.setType(MyRowBackingBean.class);
try (Reader reader = ...) {
CSVReader csvReader = new CSVReaderBuilder(reader).withCSVParser(csvParser).build();
CsvToBean<R> csvToBean = new CsvToBeanBuilder<R>(csvReader)
.withMappingStrategy(mappingStrategy)
.withFilter(...)
.build();
List<MyRowBackingBean> beans = csvToBean.parse()
...
}
Run Code Online (Sandbox Code Playgroud)
我查看了以下类,但找不到 setDefaultLocale(...) …
如果我使用@Bean声明一个类然后对该类进行组件扫描,那么spring将通过调用它的构造函数并注入构造函数args并注入标有@Inject的任何字段来实例化该类.为简单起见,我们称之为春季汽车制造.
我不喜欢组件扫描,并希望完全避免它(我不想讨论我不喜欢它的原因).我想使用@Configuration对象,但仍然希望我可以使用自动构建功能.是否可以调用spring来自动构建我的对象,而不是显式地必须传递我的@Configuration对象中的所有构造函数参数?
让我们假设我有一个bean:
public class MyServiceImpl implements MyService {
public MyServiceImpl(Dependency1 d1, Dependency d2) { ... }
....
}
Run Code Online (Sandbox Code Playgroud)
我可以像这样定义一个配置对象:
@Configuration
public class MyConfiguration {
// lets assume d1 and d2 are defined in another @Configuration
@Inject
Dependency1 d1;
@Inject
Dependency2 d2;
@Bean
public MyService myService() {
// I dislike how I have to explicitly call the constructor here
return new MyServiceImpl(d1, d2);
}
}
Run Code Online (Sandbox Code Playgroud)
但是现在,我明确地必须自己调用MyServiceImpl构造函数,因此随着时间的推移,我必须不断更新它.
我希望我可以声明一个抽象方法,以便可以进行弹簧自动构建:
@Configuration
public abstract class MyConfiguration {
@Bean
public abstract MyServiceImpl myService();
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用.有没有办法可以在 …
虽然我看到两个不同的帖子带有此错误消息,但对我没有任何作用:
错误:(25, 17) 无法解决:org.mockito:mockito-core:1.10.19
我尝试使用 compile、androidTestCompile 和 testCompile 更改 Mockito 依赖项,并且在全局 Gradle 文件中我尝试将 Maven 添加为存储库,但没有成功。
编辑:我使用的是 Android Studio 2.1
这是我的应用程序 build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion "24.0.0"
defaultConfig {
applicationId "ivano.android.com.mockitoexample"
minSdkVersion 15
targetSdkVersion 24
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:24.2.1'
testCompile 'junit:junit:4.12'
testCompile 'org.mockito:mockito-core:1.10.19'
}
Run Code Online (Sandbox Code Playgroud)
这是全球的
// Top-level build file where you can add configuration options …Run Code Online (Sandbox Code Playgroud)