thymeleaf-spring4:jar 找不到工件 - gradle intellij
Posted
技术标签:
【中文标题】thymeleaf-spring4:jar 找不到工件 - gradle intellij【英文标题】:thymeleaf-spring4:jar could not find artifact - gradle intelijj 【发布时间】:2018-11-26 00:36:31 【问题描述】:我正在尝试使用 gradle、groovy 和 spring-boot 框架和以下代码构建一个简单的应用程序:
@Grab("thymeleaf-spring4")
@Controller
class ViewBasedApp
def chapters = ["Quick Start With Groovy",
"Quick Start With Java",
"Debugging and Managing Your App",
"Data Access with Spring Boot",
"Securing Your App"]
@RequestMapping("/")
def home(@RequestParam(value="name", defaultValue="World") String n)
new ModelAndView("home")
.addObject("name", n)
.addObject("chapters", chapters)
这是我的 build.gradle 文件:
group 'LoginApp'
version '1.0-SNAPSHOT'
apply plugin: 'groovy'
repositories
mavenCentral()
dependencies
compile 'org.codehaus.groovy:groovy-all:2.3.11'
testCompile group: 'junit', name: 'junit', version: '4.12'
compile("org.springframework.boot:spring-boot-starter-web")
//compile("org.thymeleaf:thymeleaf-spring4") //first try
// compile("nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect") //first try
compile 'org.springframework:spring-webmvc:3.0.0.RELEASE'
// https://mvnrepository.com/artifact/org.thymeleaf/thymeleaf-spring4 //secound try
compile group: 'org.thymeleaf', name: 'thymeleaf-spring4', version: '3.0.0.RELEASE'
// compile group: 'org.thymeleaf', name: 'thymeleaf-spring4', version: '4.1.6.RELEASE' //third try
html 文件:
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Learning Spring Boot - Chapter 1</title>
</head>
<body>
<p th:text="'Hello, ' + $name"></p>
<ol>
<li th:each="chapter : $chapters" th:text="$chapter"></li>
</ol>
</body>
</html>
要启动我的应用程序,我使用 spring boot CLI。当我在命令提示符下使用“spring run”时,总是遇到同样的错误: 找不到工件:thymeleaf-spring4:jar: 在本地(文件:/C:/Users/kubas/repository)。
我尝试添加“thymeleaf-spring4.jar” - 从 maven 页面下载到文件夹“repository”,但什么也没有,总是同样的错误。
有人可以就此提出建议吗?
【问题讨论】:
此代码在没有@Grab 注释且仅在 STS 中有效 【参考方案1】:我通过添加来自本地存储库的依赖项解决了问题:
buildscript
repositories
mavenLocal()
dependencies
classpath("org.thymeleaf:thymeleaf-spring5:3.0.9.RELEASE")
repositories
mavenCentral()
dependencies
compile 'org.codehaus.groovy:groovy-all:2.3.11'
testCompile group: 'junit', name: 'junit', version: '4.12'
compile("org.springframework.boot:spring-boot-starter-web")
compile("nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect") //first try
compile 'org.springframework:spring-webmvc:4.0.6.RELEASE'
compile 'org.springframework:spring-web:4.0.6.RELEASE' //@EnableWebMvc @ComponentScan
现在 thymeleaf 取自 C:\Users\kubas\org\thymeleaf\thymeleaf-spring5
我不得不将 app.groovy 中的注释更改为 @Grab("thymeleaf-spring5")
但现在我无法配置模板文件的路径。我这个文件的路径是:
F:\gradle_login_aPP\src\main\resources\templates
...
这是错误:
找不到模板位置:classpath:/templates/
我尝试在\src\main\resources\
中添加application.properties 文件,但它不起作用。我知道可以添加默认前缀,但我找不到有关文件的信息,我需要在其中添加它。有什么建议,如何用 gradle 项目运行这个模板?
【讨论】:
我试图更改模板的类路径,但没有发生任何事情。我添加了带有 'templateResolver.setPrefix("classpath:/templates/");' 的新配置类什么都没有【参考方案2】:我解决了这个问题。我使用了 .html 文件,这就是我在控制器类中使用该文件的方式:
@RestController
class LoginServiceApplication
@RequestMapping("/")
String home()
def htmlContent = new File("F:\\APKA_W_SPRINGU\\Spring-apps-master\\AppWithLoginPage\\LoginService\\src\\main\\resources\\templates\\index.html").text
htmlContent
对于第一个问题 - 我所要做的就是使用按钮运行在 intelijj 中运行主类(类不能包含 @Grab 注释!),在我解决这个问题之前,我使用的是 spring CLI,这是一个问题.现在一切正常。
【讨论】:
以上是关于thymeleaf-spring4:jar 找不到工件 - gradle intellij的主要内容,如果未能解决你的问题,请参考以下文章
错误: 找不到或无法加载主类 org.apache.sqoop.Sqoop
在 CMS Magnolia 5.7.4 中找不到 AddHeadersFilter