小编lan*_*ava的帖子

Grails/Groovy/GGTS:run-app上的冲突模块版本

将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".

任何提示?

eclipse grails

20
推荐指数
5
解决办法
3万
查看次数

SQuirreL插件教程

我有一个SQuirreL SQL客户端插件的想法,我想知道如何制作一个插件.我的插件将是一个查询构建器UI,需要访问模式模型,包括表,列,主键,外键和约束等.

我在网上搜索了SQurreL插件信息/教程,我找不到多少.我能找到的最好的是维基百科,这是非常简短的.

如果您有任何关于创建SQuirreL插件的链接,教程,示例或任何其他信息,请在此处发布.

谢谢

java plugins jdbc squirrel-sql

12
推荐指数
1
解决办法
903
查看次数

以编程方式从eclipse外部列出eclipse工作区中的打开项目

我想编写一个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插件中执行此操作.

java eclipse workspace parsing

10
推荐指数
1
解决办法
1236
查看次数

可视化gradle任务依赖项

我正在寻找一个工具,它将以图形方式显示Gradle脚本的任务依赖图,但找不到任何.请提及您可以使用的工具,或解释是否无法完成此操作.谢谢!

gradle

9
推荐指数
1
解决办法
4246
查看次数

Hibernate搜索,infinispan,jclouds和Amazon S3 - IllegalArgumentException:bucketId:A96137216.bz2(预期:整数)

我正在尝试使用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的帮助都表示赞赏.

提前致谢.

lucene amazon-s3 hibernate-search infinispan jclouds

6
推荐指数
0
解决办法
256
查看次数

Maven`help:effective-pom`仅为单个项目而非所有项目生成

我想为多模块构建中的所有子项目生成有效的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)

java maven

5
推荐指数
1
解决办法
1323
查看次数

Gradle配置“内置”任务

考虑以下构建脚本,其中

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),它将解决我的问题。

dependencies gradle directed-acyclic-graphs

5
推荐指数
1
解决办法
605
查看次数

OpenCsv:我可以指定一次区域设置,而不是在每个 @CsvBindByName 中重复它吗?

我正在使用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(...) …

java locale number-formatting opencsv

5
推荐指数
0
解决办法
2479
查看次数

Spring注释 - @Configuration调用spring bean自动构建

如果我使用@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)

但这不起作用.有没有办法可以在 …

spring spring-annotations

4
推荐指数
1
解决办法
2万
查看次数

无法解决 Gradle 中的 Mockito 依赖项

虽然我看到两个不同的帖子带有此错误消息,但对我没有任何作用:

错误:(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)

testing android unit-testing mockito gradle

1
推荐指数
1
解决办法
8726
查看次数