小编Xel*_*ian的帖子

Gradle中buildscript块的目的

我是Gradle的新手,我正在阅读文档,但我不了解它的某些部分.其中一个部分与buildscript块连接.它的目的是什么?

如果构建脚本需要使用外部库,则可以将它们添加到构建脚本本身的脚本类路径中.您可以使用buildscript()方法执行此操作,并传入一个声明构建脚本类路径的闭包.

buildscript {
  repositories {
    mavenCentral()
  }
  dependencies {
    classpath group: 'commons-codec', name: 'commons-codec', version: '1.2'
  }
}
Run Code Online (Sandbox Code Playgroud)

好的但是有什么区别:

repositories {
  mavenCentral()
}
dependencies {
  compile group: 'commons-codec', name: 'commons-codec', version: '1.2'
}
Run Code Online (Sandbox Code Playgroud)

例如,为什么有必要使用buildscript

classpath gradle

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

Gradle中的JCenter存储库包含哪些内容?

Gradle 1.7开始,有一个新的公共存储库JCenter.

repositories {  
   jcenter()  
}
Run Code Online (Sandbox Code Playgroud)

所以我想问一下Maven Central的所有罐子是否都是这个回购的一部分?如果不是JCenter repo由什么组成的?JCenter中的JCenter是否更可靠作为停机时间?

repository gradle maven-central

137
推荐指数
4
解决办法
8万
查看次数

什么是Java 8中的"糖","desugar"术语?

我在Java 8中经常听说'糖化'和'贬低',这些术语是什么意思?他们是概念性的还是语法式的.

一些例子:

默认迭代循环重新发布到java

编辑中的句法糖观察.

java java-8 semantics

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

Gradle中编译和运行时配置之间的区别

我的问题有点普遍,但它也与Gradle有关.

为什么我们需要编译和运行时配置?

当我编译一些东西时,我需要工件来转换我的字节码中的java类,所以我需要编译配置,但为什么需要运行时配置我还需要别的东西在JVM中运行我的应用程序?

对不起,如果它听起来很愚蠢,但我不明白.

configuration dependencies gradle

95
推荐指数
2
解决办法
5万
查看次数

在Gradle中正确显示UTF-8文本

我有一个任务:

task info<<{
    println "Gradle — ??????? ?????????????? ??????, ??????????? ?? ????????? Apache Ant ? Apache Maven, ?? ??????????????? DSL ?? ????? Groovy ?????? ???????????? XML-???????? ????? ????????????? ???????????? ???????."
}
Run Code Online (Sandbox Code Playgroud)

当我使用commadn时

gradle info -Dfile.encoding=UTF-8
Run Code Online (Sandbox Code Playgroud)

文字没有正确显示.怎么解决?谢谢.

text build utf-8 gradle

19
推荐指数
5
解决办法
4万
查看次数

使用Spring的Quartz作业和调度任务之间的区别?

我是Spring-boot(版本1.3.6)和Quartz的新手,我想知道使用Spring-scheduler创建任务有什么区别:

    @Scheduled(fixedRate = 40000)
    public void reportCurrentTime() {
        System.out.println("Hello World");
    }
Run Code Online (Sandbox Code Playgroud)

石英方式:

0. Create sheduler.
1. Job which implements Job interface.
2. Create JobDetail which is instance of the job using the builder  org.quartz.JobBuilder.newJob(MyJob.class)
3. Create a Triger
4. Finally set the job and the trigger to the scheduler
Run Code Online (Sandbox Code Playgroud)

在代码中:

  public class HelloJob implements Job {

    public HelloJob() {
    }

    public void execute(JobExecutionContext context)
      throws JobExecutionException
    {
      System.err.println("Hello!");
    }
  }
Run Code Online (Sandbox Code Playgroud)

和sheduler:

SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory(); …
Run Code Online (Sandbox Code Playgroud)

java spring quartz-scheduler spring-scheduled

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

如何使用Gradle获取文件和目录名称?

我有dir,其中另一个任务创建文件和目录所以在这个目录中有文件,目录,子目录,文件,等等.我想把所有文件目录的绝对路径放在一个列表中.

def listNames = project.fileTree('dir')
Run Code Online (Sandbox Code Playgroud)

但只有文件包含在列表中,目录丢失.如何收集所有这些?

directory file task gradle filetree

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

Gradle的术语评估与执行之间的区别

我是Gradle构建工具的新手,现在我正在阅读用户指南,但无法完全理解评估和执行阶段之间的区别.

在配置阶段,项目对象已配置并且已创建DAG,但我们有afterEvaluate,那么在此处评估什么?评估任务依赖性还是什么?

evaluation build execution gradle

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

在Gradle深度解释中,什么是常规构建?

摇篮用户指南经常提到摇篮是声明和使用建立按约定.这是什么意思?

根据我的理解,这意味着,例如,在java插件中src/main/java,必须有一些类似于source的约定,测试必须在src/main/test,资源在src/main/resources,准备好的jar build/libs等等.但是,Gradle并不强制您使用这些约定,您可以根据需要更改它们.

但是对于第二个概念,我对理解有更大的问题.像SQL一样,你说你想对你的查询做什么,但没有说数据库系统将如何获取它们,使用哪种算法来提取数据等.

请告诉我更多正确理解这些概念.谢谢.

java convention declarative gradle

13
推荐指数
3
解决办法
3107
查看次数

如何在Spring测试期间创建CrudRepository接口的实例?

我有一个Spring应用程序,在其中我使用xml配置,只使用Java Condfig.一切都还可以,但是当我尝试测试时,我遇到了在测试中启用组件的问题.所以让我们开始我有一个界面

@Repository
public interface ArticleRepository extends CrudRepository<Page, Long> {
    Article findByLink(String name);
    void delete(Page page);
}
Run Code Online (Sandbox Code Playgroud)

和组件/服务

@Service
public class ArticleServiceImpl implements ArticleService {
    @Autowired
    private ArticleRepository articleRepository;
...
}
Run Code Online (Sandbox Code Playgroud)

我不想使用xml配置,因此对于我的测试,我尝试仅使用Java配置测试ArticleServiceImpl.所以为了测试目的,我做了:

@Configuration
@ComponentScan(basePackages = {"com.example.core", "com.example.repository"})
public class PagesTestConfiguration {


@Bean
public ArticleRepository articleRepository() {
       // (1) What to return ?
}

@Bean
public ArticleServiceImpl articleServiceImpl() {
    ArticleServiceImpl articleServiceImpl = new ArticleServiceImpl();
    articleServiceImpl.setArticleRepository(articleRepository());
    return articleServiceImpl;
}
Run Code Online (Sandbox Code Playgroud)

}

articleServiceImpl()我需要把实例articleRepository(),但它是一个接口.如何使用新关键字创建新对象?是否可以在不创建xml配置类的情况下启用自动装配?在测试期间仅使用JavaConfiguration时可以启用awtow吗?

java xml spring spring-mvc autowired

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