Tag: gradle

无法读取jar文件中的文件

我使用spring-boot开发了一个应用程序,我需要读取包含电子邮件的csv文件。 这是我如何做的一个片段: public Set<String> readFile() { Set<String> setOfEmails = new HashSet<String>(); try { ClassPathResource cl = new ClassPathResource("myFile.csv"); File file = cl.getFile(); Stream<String> stream = Files.lines(Paths.get(file.getPath())); setOfEmails = stream.collect(Collectors.toSet()); } catch (IOException e) { logger.error("file error " + e.getMessage()); } return setOfEmails; } 它在我使用eclipse执行应用程序时起作用:run as – > spring-boot app 但是当我把jar放入容器docker的时候,readFile()方法返回一个空集。 我使用gradle来构build应用程序 你有什么想法吗? 最好的祝福

在Docker镜像/容器中安装和使用Gradle

在Dockerfile创buildDockerfile镜像的过程结束时,我收到了这个奇怪的错误: /bin/sh: 1: gradle: not found INFO[0003] The command [/bin/sh -c gradle test jar] returned a non-zero code: 127 Dockerfile的相关部分: FROM debian:jessie […] RUN curl -L https://services.gradle.org/distributions/gradle-2.4-bin.zip -o gradle-2.4-bin.zip RUN apt-get install -y unzip RUN unzip gradle-2.4-bin.zip RUN echo 'export GRADLE_HOME=/app/gradle-2.4' >> $HOME/.bashrc RUN echo 'export PATH=$PATH:$GRADLE_HOME/bin' >> $HOME/.bashrc RUN /bin/bash -c "source $HOME/.bashrc" RUN […]

用gradle构build一个docker play应用程序

我正在尝试使用gradle构build一个包含play应用程序的docker容器,而且我正遇到gradleconfiguration和运行构build的问题。 问题是,为了“容器化”使用播放插件构buildGradle的应用程序,我需要从创build的文件夹构buildDocker容器(使用com.palantir.docker:0.5.2插件) playBinary任务的执行结果。 我试图通过添加一个像这样的新任务来复制上述任务创build的文件夹: task copyDockerDependencies(type: Copy, dependsOn: build){ from 'build/stage/playBinary' into 'build/docker' } 但是当我执行gradle clean playBinary docker任务时,它会失败,因为: Skipping task ':copyDockerDependencies' as it has no source files. 我知道这是由于文件夹的构build在项目configuration时不存在,所以我想知道是否有一种方法来执行此检查在执行时间,以便文件夹和这些文件存在,和docker build任务是能够find他们? 我试图在我的复制任务中使用doLast但是这也不起作用。 任何帮助将不胜感激。 干杯

docker不build立一个新的干净的形象

我目前正在尝试一些例子,让我build立一个docker图像,复制一个Java应用程序,并运行tomcat访问特定端口上的应用程序。 我已经能够做到这一点,但是我有什么困难正在做出新的改变。 例如,如果我对控制器进行新的更改并构build应用程序,则在构builddocker时,似乎没有考虑这些更改。 我正在使用以下工具:主> docker文件夹中的Intellij Gradle Dockerfile 我运行以下命令: gradle build ./gradlew buildDocker 第二个命令在gradle.build文件中运行一个任务 buildscript { repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:1.4.2.RELEASE") classpath('se.transmode.gradle:gradle-docker:1.2') } } apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'idea' apply plugin: 'org.springframework.boot' apply plugin: 'war' apply plugin: 'docker' group = 'springio' jar { baseName = 'gs-serving-web-content' version = '0.1.0' } […]

如何与docker容器共享gradlecaching

我们在Docker容器中运行gradle构build(其原因是构build需要我们不希望在主机上安装的软件;节点,酒等等,甚至不在主机上安装java或gradle)。 用一个空的caching启动每个容器是很慢的。 我已经build立了gradle-4.0的http生成caching。 这在大多数情况下避免了Java编译的需要。 性能增益虽然相当低,因为构build时间主要由下载依赖关系决定 。 gradlew –parallel有助于缓解这一点,但要真正推动构build,下载应该完全避免。 将〜/ .gradle共享为Docker卷是有问题的,因为当容器并行运行时会导致争用( https://github.com/gradle/gradle/issues/851 )。 那么,还有什么可以做,以避免一遍又一遍下载相同的文物?

Docker卷不能用于gradle映像

我试图caching每次我的gradle构build下载的东西。 为此,我尝试使用-v选项( -v gradle_cache:/root/.gradle装载卷 事情是每次我重新运行生成与exat相同的命令,它仍然下载一切。 我用来运行图像的完整命令是 sudo docker run –rm -v gradle_cache:/root/.gradle -v "$PWD":/home/gradle/project -w /home/gradle/project gradle:jdk8-alpine gradle jar 我还检查了/var/lib/docker/volumes/gradle_cache/_data在/var/lib/docker/volumes/gradle_cache/_data保存卷内容的目录,但也是空的。 我的控制台日志 我错过了什么使这个工作? 编辑:根据请求,我用–scan选项重新运行命令。 还有一个不同的gradle home: $ sudo docker run –rm -v gradle_cache:/root/.gradle -v "$PWD":/home/gradle/project -w /home/gradle/project gradle:jdk8-alpine gradle jar –gradle-user-home /root/.gradle FAILURE: Build failed with an exception. * What went wrong: Failed to load native […]

在Mac上Docker化Gradle构build

我试图通过遵循这个博客文章中的build议来dockerize我的Gradle构build在Mac上: http : //thediscoblog.com/blog/2014/06/13/docker-containers-with-gradle-in-4-steps /但是我在boot2docker的Mac上使用Docker,它在这里似乎工作不同。 我已经将gradle-docker插件configuration更改为使用Docker API并连接到我的Boot2Docker VM: docker { useApi true hostUrl 'https://192.168.59.103:2376' } 我通过运行'boot2docker ip'来获得IP地址,但现在当我运行'gradle distDocker'时,出现以下错误: Execution failed for task ':distDocker'. > javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated 我对Docker还不是很了解,而且自从博客文章以来,事情似乎已经发生了变化。 我该怎么做才能使插件工作?

从gradle运行docker工具:无法拉出图像

从cmd行运行docker我没有问题: docker run -p 5432:5432 -it –rm postgres:9.5.2` 但是当我从gradle,使用dcompose插件 ,我得到了 Could not evaluate onlyIf predicate for task ':pullDatabaseImage'. > Docker command failed: Certificate path (DOCKER_CERT_PATH) '/home/xxx/.docker/certs' doesn't exist. 我的configuration: plugins { id "com.chrisgahlert.gradle-dcompose-plugin" version "0.3.2" } dcompose { database { image = 'postgres:9.5.2' // Required } } test { dependsOn startDatabaseContainer finalizedBy removeDatabaseContainer } 怎么了? […]

在Docker中运行简单的Java Gradle应用程序

我有一个简单的Java服务器应用程序与Gradle构build。 它可以在我的主机上gradle run 。 但是,我想要在Docker镜像中构build这个镜像并作为Docker容器运行。 我正在使用docker机(版本0.13.0): docker-machine create –driver virtualbox –virtualbox-memory 6000 default docker-machine start eval $(docker-machine env default) 我在Dockerfile有下面的Dockerfile图像构build脚本: FROM gradle:4.3-jdk-alpine ADD . /code WORKDIR /code CMD ["gradle", "–stacktrace", "run"] 我可以完美地构build: ➜ docker build -t my-server-app . Sending build context to Docker daemon 310.3kB Step 1/4 : FROM gradle:4.3-jdk-alpine —> b803ec92baec Step 2/4 : […]

gradlebuild立本地作品。 在docker集装箱它不。 为什么?

情况很简单: 这里是我的本地环境: cbongiorno at wa-cbongiorno-mba in /Volumes/dev/sterling/java-user-login-service on master [!$] $ gradle -v ———————————————————— Gradle 4.0 ———————————————————— Build time: 2017-06-14 15:11:08 UTC Revision: 316546a5fcb4e2dfe1d6aa0b73a4e09e8cecb5a5 Groovy: 2.4.11 Ant: Apache Ant(TM) version 1.9.6 compiled on June 29 2015 JVM: 1.8.0_131 (Oracle Corporation 25.131-b11) OS: Mac OS X 10.12.5 x86_64 这里是我运行的构build命令: gradle compileJava check assemble && history | […]