我正在使用Gradle编译Groovy项目,但我注意到当我在代码中使用@Grab注释时,我收到以下错误:
$ gradle compile :buildInfo :compileJava UP-TO-DATE :compileGroovy FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':compileGroovy'. > org/apache/ivy/core/report/ResolveReport
(这里有完整的堆栈跟踪http://pastebin.com/0ty4jNct)
我发现使其工作的唯一方法是将'groovy'和'ivy'模块添加到groovy类路径中,但我想避免这种情况,因为不推荐使用groovy类路径.
这是Gradle bug吗?还是有更好的方法来管理@Grab依赖?
我想在Gradle构建文件中设置所需的Java版本,例如7或8,而不必指定本地JDK安装的实际路径.
这可能吗 ?
我需要使用陷阱捕获Bash脚本中的错误条件.出于这个原因,我在我的脚本中都有set -eAND set -u.但是我注意到脚本中定义的陷阱没有得到错误状态.例如:
set -e
set -u
on_exit() {
exit_status=$?
echo exit_status=$exit_status
exit $exit_status
}
trap on_exit EXIT
X=$Y
Run Code Online (Sandbox Code Playgroud)
上面的代码段打印:
line 12: Y: unbound variable
exit_status=0
Run Code Online (Sandbox Code Playgroud)
而我期望错误状态为非零.删除后set -e,错误状态被正确报告为1.
这是什么原因?
Bash版本:GNU bash,版本3.2.57(1)-release(x86_64-apple-darwin15)
我正在使用以下行生成随机脚本:
export MY_VAR="nxf-$(cat /dev/urandom | LC_ALL=C tr -dc 'a-zA-Z0-9' | fold -w 24 | head -n 1)"
Run Code Online (Sandbox Code Playgroud)
这工作正常,但当我将它包含在BASH脚本中并执行它时,脚本执行挂起.
进程树显示以下过程:
4045 ? S 0:00 bash .command.run
4046 ? R 22:38 \_ cat /dev/urandom
4047 ? S 1:03 \_ tr -dc a-zA-Z0-9
4048 ? S 0:34 \_ fold -w 24
Run Code Online (Sandbox Code Playgroud)
似乎urandom永远不会退出.为什么会这样?
我有一个使用Gradle(1.8)构建的Groovy项目,其中一些Java类报告以下编译器警告消息:
warning: Unsafe is internal proprietary API and may be removed in a future release
import sun.misc.Unsafe;
Run Code Online (Sandbox Code Playgroud)
有没有办法抑制该错误消息?我发现了一些建议使用javac编译器选项的答案,-XDignore.symbol.file但是在使用Groovy插件时我无法在Gradle构建中应用它.
有解决方案吗
谢谢
我正在使用"maven"插件将Gradle build创建的工件上传到Maven中央存储库.我正在使用类似于以下任务的任务:
uploadArchives {
repositories {
mavenDeployer {
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
pom.project {
name 'Example Application'
packaging 'jar'
url 'http://www.example.com/example-application'
scm {
connection 'scm:svn:http://foo.googlecode.com/svn/trunk/'
url 'http://foo.googlecode.com/svn/trunk/'
}
licenses {
license {
name 'The Apache License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,此任务创建的POM文件无法正确报告我的Gradle构建文件中已排除的依赖项.例如:
dependencies {
compile('org.eclipse.jgit:org.eclipse.jgit.java7:3.5.2.201411120430-r') { exclude module: 'commons-logging' }
compile('com.upplication:s3fs:0.2.8') { exclude module: 'commons-logging' }
}
Run Code Online (Sandbox Code Playgroud)
如何在生成的POM文件中正确管理排除的依赖项?
Apache VFS是否提供可插入机制来添加对默认情况下未提供的自定义文件系统的支持?
有什么例子怎么做?
我使用One-Jar工具将我的应用程序打包在一个jar中:
http://one-jar.sourceforge.net/
它有效,但我在依赖模块中实现的服务存在问题,该模块在一个单独的jar中实现.
该模块使用标准的Java ServiceLoader机制来提供其服务,即jar有一个文件META-INF/services/package.name.ServiceProviderClass,它指定要实例化的服务具体类.
但是当这个jar嵌入在由One-Jar创建的应用程序"fat-jar"中时,服务加载器机制不会发现它.
知道如何让它工作吗?
干杯,保罗
Visual Code 远程 SSH 扩展允许在嵌入式终端中编辑任何远程文件,code <filename>这非常有用。
但是,当使用 sudo 打开文件时,例如sudo code /etc/fstabs它会返回
sudo: code: command not found
Run Code Online (Sandbox Code Playgroud)
code有没有办法允许任何用户使用?
如何将正在运行的 Pod 的重启策略从 更改Always为Never. 我已经kubectl edit但是不允许更改它。