怎么把thymeleaf加到maven里面?
作者:互联网
首先,我们先搞清楚maven里面的每一个项目是做什么用的。
所有 POM 文件都需要 project 元素和三个必需字段:groupId,artifactId,version。
节点 | 描述 |
---|---|
project | 工程的根标签。 |
modelVersion | 模型版本需要设置为 4.0。 |
groupId | 这是工程组的标识。它在一个组织或者项目中通常是唯一的。例如,一个银行组织 com.companyname.project-group 拥有所有的和银行相关的项目。 |
artifactId | 这是工程的标识。它通常是工程的名称。例如,消费者银行。groupId 和 artifactId 一起定义了 artifact 在仓库中的位置。 |
version |
这是工程的版本号。在 artifact 的仓库中,它用来区分不同的版本。例如: com.company.bank:consumer-banking:1.0 com.company.bank:consumer-banking:1.1 |
在使用maven的时候记得,要把1.7改成1.8
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties>
<dependencies><dependency>:依赖,在这里我们可以添加各种新的library,比如thymeleaf。
maven有一个默认测试的dependencies。
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> </dependencies>
<plugins>是放置插件的,添加这样的插件,
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>3.0.0</version> <configuration> <mainClass>org.example.App</mainClass> </configuration> </plugin>
就可以用
mvn exec:java
来运行你的项目。
请注意,重要的一行是mainClass
您使用main()
函数设置为类的全名(带有路径组件)。
接下来,来进行实际的操作。
1. 打开一个 shell(windows CMD 也可以)并输入mvn archetype:generate
. ——自动开始下载一个默认原始包
2. 随便设置一下
groupId: org.example artifactId: project version: 0.1
3. 更改version
4. 添加插件<plugins>
5. mvn compile 编译(每次更新你的源文件都要编译一遍)
6. mvn clean(删除上一次的)
7. mvn exec:java ——"Hello World!"
8. mvn test 会跑src/test/java
9. 添加thymeleaf ——https://mvnrepository.com/artifact/org.thymeleaf/thymeleaf
<!-- https://mvnrepository.com/artifact/org.thymeleaf/thymeleaf --> <dependency> <groupId>org.thymeleaf</groupId> <artifactId>thymeleaf</artifactId> <version>3.1.0.M1</version> </dependency>
添加到依赖项,然后 mvn compile 编译
10. make a template file called unit
in the folder src/main/resources/templates
(you will have to create the folder first), and put the following lines in it:
Unit: [(${name})] In this unit, you will learn about: [# th:each="topic: ${topics}"] - [(${topic})] [/]
11. 在源文件(App.java)里面输入:
import java.util.List; import java.util.Arrays; import org.thymeleaf.TemplateEngine; import org.thymeleaf.context.Context; import org.thymeleaf.templatemode.TemplateMode; import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;
以及代码:
ClassLoaderTemplateResolver resolver = new ClassLoaderTemplateResolver(); resolver.setTemplateMode(TemplateMode.TEXT); resolver.setPrefix("templates/"); TemplateEngine engine = new TemplateEngine(); engine.setTemplateResolver(resolver); Context c = new Context(); c.setVariable("name", "Software Tools"); List<String> topics = Arrays.asList("Linux", "Git", "Maven"); c.setVariable("topics", topics); String greeting = engine.process("unit", c); System.out.println(greeting);
package org.example; import java.util.List; import java.util.Arrays; import org.thymeleaf.TemplateEngine; import org.thymeleaf.context.Context; import org.thymeleaf.templatemode.TemplateMode; import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver; public class App { public static void main( String[] args ) { ClassLoaderTemplateResolver resolver = new ClassLoaderTemplateResolver(); resolver.setTemplateMode(TemplateMode.TEXT); resolver.setPrefix("templates/"); TemplateEngine engine = new TemplateEngine(); engine.setTemplateResolver(resolver); Context c = new Context(); c.setVariable("name", "Software Tools"); List<String> topics = Arrays.asList("Linux", "Git", "Maven"); c.setVariable("topics", topics); String greeting = engine.process("unit", c); System.out.println(greeting); } }
12. mvn compile
13. mvn exec:java
Unit: Software Tools In this unit, you will learn about: - Linux - Git - Maven
- 模板解析器(template resolver)是一个类,当你给它一个名字(unit)时,它会找到一个模板(template)。在这种情况下,我们使用从类路径(classpath)加载的解析器(resolver),因此我们只需将模板文件放在
src/main/resources
; 我们告诉它我们希望将模板文件视为文本(例如,不是 HTML),并且模板文件位于名为templates
. - 模板引擎(template engine)是在解析器找到源文件后执行渲染模板工作的类。
- 要呈现模板(template),您需要解析器查找的模板名称和上下文 - 您可以在其上设置键/值参数的对象。在这种情况下,我们将键“名称”设置为“软件工具”,将键“主题”设置为三个主题的列表。键的名称和类型显然必须与模板文件中的内容相匹配。
练习:通过创建一个单元类来重写这个示例,使其更加面向对象:
public class Unit { private String name; private List<String> topics; public Unit(String name, List<String> topics) { this.name = name; this.topics = topics; } public String getName() { return this.name; } public List<String> getTopics() { return this.topics; } }
(重新编辑unit和App.java)
标签:java,topics,加到,maven,thymeleaf,resolver,import,org 来源: https://www.cnblogs.com/changethewld/p/16188601.html