目前,我正在测试Gradle作为Maven的替代品.在我的项目中,有一些第三方罐子,在任何(Maven)存储库中都不可用.我现在的问题是,如何管理它以将这些jar安装到我的本地.gradle存储库中.(如果可能,我不想使用本地Maven存储库,因为Gradle应该独立运行.)目前,由于缺少jar,我得到了很多例外.在Maven中,运行install命令非常简单.但是,我在Google上搜索类似于Maven安装命令的内容并不成功.有人有想法吗?
不幸的是,多行字符串上的stripIndent不起作用.附注:我的IDE代码样式首选项仅允许空格缩进(选项卡将替换为空格).但我认为这应该没有问题.
def s = """ This
is
multiline
"""
println s.stripIndent()
Run Code Online (Sandbox Code Playgroud)
不打印
This
is
multiline
Run Code Online (Sandbox Code Playgroud)
正如所料.
输出是缩进.
This
is
multiline
Run Code Online (Sandbox Code Playgroud)
这里出了什么问题?
我在Eclipse Indigo SR2中使用Groovy 2.0.7.
在第一行中使用反斜杠(String continuation character)似乎消失了这个问题.但我不明白为什么这是必须的.
有人可以解释@TypeChecked和@CompileStatic之间的区别吗?
我用@TypeChecked读到了它,不可能在运行时添加新方法.还有哪些其他功能不允许?
@CompileStatic允许哪些Groovy功能?与groovyc和@CompileStatic相比,字节码是否与使用javac编译的相同?
我想将maven本地存储库另外用于maven远程存储库.我找到了JIRA-Issue http://issues.gradle.org/browse/GRADLE-1173,但是以这种方式调整我的gradle构建文件仍然找不到仅在本地maven存储库中可用的一些快照依赖项.我收到一个错误,即找不到Snapshot-Dependency.
是否可以拥有一个本地和一个远程maven存储库?
这是我的gradle构建文件的相关部分:
apply plugin: 'maven'
repositories {
mavenLocal()
maven {
credentials {
username "myusername"
password "mypassword"
}
url "http://myremoterepository"
}
}
Run Code Online (Sandbox Code Playgroud) 我正在寻找一个用于gradle的eclipse ide集成.我从http://www.breskeby.com/downloads/gradle/eclipse/update/安装了gradle编辑器
但这远远不是我对ide整合的期望.它仅提供一些语法突出显示.没有自动完成,错误标记,任务列表等.
eclipse有没有真正的ide集成?
我的gradle构建输出消息
Deprecated: relying on packaging to define the extension of the main artifact is deprecated, and will not be supported in a future version of Gradle.
Run Code Online (Sandbox Code Playgroud)
这意味着什么以及如何使警告消失?
我想在将war任务输出部署到存储库之前设置它的文件名.例如项目名称abc,最初它将导致abc-1.0.0-SNAPSHOT.war
但我希望应该有两个生成的war文件具有相同的内容:
def-1.0.0-SNAPSHOT.warghi-1.0.0-SNAPSHOT.war我想将我的Maven2构建文件切换为gradle.使用gradle从WSDL + XSD生成java类似乎没有进一步记录,没有gradle插件.我使用maven的以下配置并搜索gradle的等效项.
<!-- plugin for generating the classes from the WSDL+XSD -->
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.7.3</version>
<executions>
<execution>
<id>app1-stub-generation</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<schemaDirectory>${project.build.directory}/wsdl/app1</schemaDirectory>
<schemaIncludes>
<include>*.xsd</include>
</schemaIncludes>
<generatePackage>org.app1.ws.generated</generatePackage>
<generateDirectory>${project.build.directory}/generated-sources/app1</generateDirectory>
<strict>true</strict>
</configuration>
</execution>
<execution>
<id>app2-v1-stub-generation</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<schemaDirectory>src/main/resources/wsdl</schemaDirectory>
<schemaIncludes>
<include>v1/*.xsd</include>
</schemaIncludes>
<generatePackage>org.app2.ws.generated.v1</generatePackage>
<generateDirectory>${project.build.directory}/generated-sources/v1</generateDirectory>
<strict>true</strict>
</configuration>
</execution>
<execution>
<id>app2-v2-stub-generation</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<schemaDirectory>src/main/resources/wsdl</schemaDirectory>
<schemaIncludes>
<include>v2/*.xsd</include>
</schemaIncludes>
<generatePackage>org.app2.ws.generated.v2</generatePackage>
<generateDirectory>${project.build.directory}/generated-sources/v2</generateDirectory>
<strict>true</strict>
</configuration>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud) 我认为uploadArchives是一个由java插件提供的任务.在我的build.gradle中,我使用java插件:
apply plugin: 'java'
Run Code Online (Sandbox Code Playgroud)
但是如果我gradle tasks在命令行上调用,我看不到uploadArchives任务.
即使没有gradle gradle tasks --all
uploadArchives任务列在gradle java插件文档中,请参阅http://www.gradle.org/java_plugin(表11).
我使用gradle版本1.0-milestone-6.
我可以gradle uploadArchives无错误地调用,但是没有列出任务.
我不明白为什么有一个java插件提供的任务'buildNeeded'.任务"构建"不解决问题吗?gradle文档说:
buildNeeded:执行项目的完整构建及其依赖的所有项目.
和
build:执行项目的完整版本.
是否应该"构建"任务编译并构建所有必要的东西?为什么要区分'build'和'buildNeeded'?