简化基于Maven的Scala项目创建详解

这篇具有很好参考价值的文章主要介绍了简化基于Maven的Scala项目创建详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用 Maven 来构建 Scala 项目方便虽然方便,但依赖于每一个开发人员都去配置一遍项目的必要依赖,包括 Scala 插件的编译配置以及 Scala 的依赖类库,让每个人通过拷贝(Copy)之前的项目配置当然可以,但难免会出些纰漏。

而从头开始所有相关配置项都配置一遍,又略显繁琐,那么,我们可不可以想办法来进一步简化类似的基于 Maven 的 Scala 项目创建和配置?

使用代码片段管理工具

实际上,我们通常都会有收集的嗜好,尤其是作为一名软件开发者,都会有一套自己的代码片段管理工具或者套路,将一些常用的或者自己感觉经典的代码片段及配置内容进行摘录并保存。

现在有很多不错的代码片段管理工具,比如 Mac 系统上的 Dash(https://kapeli.com/dash),它可以帮助我们一站式索引技术文档并管理代码片段,有了像 Dash 这样的工具,我们就可以将基于 Maven 的 Scala 项目配置文件整理成一个代码片段(Snippet)进行管理。

然后在使用的时候直接在 Maven 的 pom.xml 中输入该代码片段的标志信息,mvn.scala.cfg`Dash 将会自动将我们配置的代码片段的内容展开并替换现有 pom.xml 的内容。

这种方法简单、快速、模板化、可重复,但只适合单一开发人员,如果一个团队或者组织内部所有人都使用这种方式,代码片段的内容同步,以及 Dash 等软件的授权等都是随之衍生出来需要进一步解决的问题。所以,为了能够使更大层面的开发者收益,我们需要寻找更加有效的方法。

创建 spring-boot-starter-scala 简化 Scala 依赖配置

对于基于 Maven 的 Scala 项目来说,以下依赖是必不可少的:

  1. <dependency>
  2. <groupId>org.scala-lang</groupId>
  3. <artifactId>scala-library</artifactId>
  4. <version>${scala.version}</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>org.scala-lang</groupId>
  8. <artifactId>scala-compiler</artifactId>
  9. <version>${scala.version}</version>
  10. </dependency>

那么,我们可以先从这里进行简化,为了避免所有人都重复配置这部分依赖内容,可以构建一个 spring-boot-starter-scala 自动配置模块,这样,所有开发者只要在自己的项目中依赖这一个 spring-boot-starter-scala 自动配置模块就可以了。

我们依然可以通过 http://start.spring.io 脚手架服务创建 spring-boot-starter-scala 项目,然后将最终的 pom.xml 配置如下:

  1. <project xmlns="http://maven.apache.org/POM/4.0.0"
  2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <groupId>com.keevol.springboot</groupId>
  6. <artifactId>spring-boot-starter-scala</artifactId>
  7. <version>1.0-SNAPSHOT</version>
  8. <packaging>jar</packaging>
  9. <name>spring-boot-starter-scala</name>
  10. <url>http://maven.apache.org</url>
  11. <properties>
  12. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  13. <java.version>1.8</java.version>
  14. <scala.version>2.11.7</scala.version>
  15. <scala.maven.version>3.2.2</scala.maven.version>
  16. </properties>
  17. <build>
  18. <plugins>
  19. <plugin>
  20. <groupId>net.alchim31.maven</groupId>
  21. <artifactId>scala-maven-plugin</artifactId>
  22. <version>${scala.maven.version}</version>
  23. <executions>
  24. <execution>
  25. <id>compile-scala</id>
  26. <phase>compile</phase>
  27. <goals>
  28. <goal>add-source</goal>
  29. <goal>compile</goal>
  30. </goals>
  31. </execution>
  32. <execution>
  33. <id>test-compile-scala</id>
  34. <phase>test-compile</phase>
  35. <goals>
  36. <goal>add-source</goal>
  37. <goal>testCompile</goal>
  38. </goals>
  39. </execution>
  40. </executions>
  41. <configuration>
  42. <recompileMode>incremental</recompileMode>
  43. <scalaVersion>${scala.version}</scalaVersion>
  44. <args>
  45. <arg>-deprecation</arg>
  46. </args>
  47. <jvmArgs>
  48. <jvmArg>-Xms64m</jvmArg>
  49. <jvmArg>-Xmx1024m</jvmArg>
  50. </jvmArgs>
  51. </configuration>
  52. </plugin>
  53. </plugins>
  54. </build>
  55. <dependencies>
  56. <dependency>
  57. <groupId>org.scala-lang</groupId>
  58. <artifactId>scala-library</artifactId>
  59. <version>${scala.version}</version>
  60. </dependency>
  61. <dependency>
  62. <groupId>org.scala-lang</groupId>
  63. <artifactId>scala-compiler</artifactId>
  64. <version>${scala.version}</version>
  65. </dependency>
  66. </dependencies>
  67. </project>

然后通过 mvn install 或者 mvn deploy 将其发布。

现在,创建任何一个基于 Maven 的 Scala 项目时,pom.xml 配置内容就可以简化如下:

  1. <project xmlns="http://maven.apache.org/POM/4.0.0"
  2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <groupId>com.keevol.springboot</groupId>
  6. <artifactId>spring-boot-starter-scala-user</artifactId>
  7. <version>1.0-SNAPSHOT</version>
  8. <packaging>jar</packaging>
  9. <name>spring-boot-starter-scala-user</name>
  10. <url>http://maven.apache.org</url>
  11. <dependencies>
  12. <dependency>
  13. <groupId>com.keevol.springboot</groupId>
  14. <artifactId>spring-boot-starter-scala</artifactId>
  15. <version>1.0-SNAPSHOT</version>
  16. </dependency>
  17. </dependencies>
  18. </project>

是不是更加简洁和方便了?但是,等一下,如果大家都这样认为,那就有问题了。

实际上,这样的做法是行不通的,Maven 项目的依赖可以传递依赖(Transitive dependency),但是插件(Plugin)却不行。如果我们真得在前面的项目配置上进行工作的话,spring-boot-starter-scala-user 可以编译成功,可以打包成功,可以发布成功,但是,在整个过程中 Maven 无法识别 Scala 代码。

所以,如果要让基于 spring-boot-starter-scala 的想法可以实现,我们需要将 scala-maven-plugin 从 spring-boot-starter-scala 项目中移到 spring-boot-starter-scala-user 项目。

spring-boot-starter-scala 项目的配置现如下:

  1. <project xmlns="http://maven.apache.org/POM/4.0.0"
  2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <groupId>com.keevol.springboot</groupId>
  6. <artifactId>spring-boot-starter-scala</artifactId>
  7. <version>1.0-SNAPSHOT</version>
  8. <packaging>jar</packaging>
  9. <name>spring-boot-starter-scala</name>
  10. <url>http://maven.apache.org</url>
  11. <properties>
  12. <scala.version>2.11.7</scala.version>
  13. </properties>
  14. <dependencies>
  15. <dependency>
  16. <groupId>org.scala-lang</groupId>
  17. <artifactId>scala-library</artifactId>
  18. <version>${scala.version}</version>
  19. </dependency>
  20. <dependency>
  21. <groupId>org.scala-lang</groupId>
  22. <artifactId>scala-compiler</artifactId>
  23. <version>${scala.version}</version>
  24. </dependency>
  25. </dependencies>
  26. </project>

spring-boot-starter-scala-user 的项目配置则如下:

  1. <project xmlns="http://maven.apache.org/POM/4.0.0"
  2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <groupId>com.keevol.springboot</groupId>
  6. <artifactId>spring-boot-starter-scala-user</artifactId>
  7. <version>1.0-SNAPSHOT</version>
  8. <packaging>jar</packaging>
  9. <name>spring-boot-starter-scala-user</name>
  10. <url>http://maven.apache.org</url>
  11. <properties>
  12. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  13. <java.version>1.8</java.version>
  14. <scala.version>2.11.7</scala.version>
  15. <scala.maven.version>3.2.2</scala.maven.version>
  16. </properties>
  17. <build>
  18. <plugins>
  19. <plugin>
  20. <groupId>net.alchim31.maven</groupId>
  21. <artifactId>scala-maven-plugin</artifactId>
  22. <version>${scala.maven.version}</version>
  23. <executions>
  24. <execution>
  25. <id>compile-scala</id>
  26. <phase>compile</phase>
  27. <goals>
  28. <goal>add-source</goal>
  29. <goal>compile</goal>
  30. </goals>
  31. </execution>
  32. <execution>
  33. <id>test-compile-scala</id>
  34. <phase>test-compile</phase>
  35. <goals>
  36. <goal>add-source</goal>
  37. <goal>testCompile</goal>
  38. </goals>
  39. </execution>
  40. </executions>
  41. <configuration>
  42. <recompileMode>incremental</recompileMode>
  43. <scalaVersion>${scala.version}</scalaVersion>
  44. <args>
  45. <arg>-deprecation</arg>
  46. </args>
  47. <jvmArgs>
  48. <jvmArg>-Xms64m</jvmArg>
  49. <jvmArg>-Xmx1024m</jvmArg>
  50. </jvmArgs>
  51. </configuration>
  52. </plugin>
  53. </plugins>
  54. </build>
  55. <dependencies>
  56. <dependency>
  57. <groupId>com.keevol.springboot</groupId>
  58. <artifactId>spring-boot-starter-scala</artifactId>
  59. <version>1.0-SNAPSHOT</version>
  60. </dependency>
  61. </dependencies>
  62. </project>

现在看来,spring-boot-starter-scala 只是帮助我们简化了依赖管理,但对于 Scala 编译插件相关的简化则于事无补,像 spring-boot-starter-scala-user 这样的一大批基于 Maven 的 Scala 项目还是要一遍一遍地配置 Scala 编译插件相关内容。

不过,如果我们暂时能够忍受每个项目自己配置 Scala 编译插件的话(个人、小团队一般可以甚至也愿意),可以先进一步简化依赖 spring-boot-starter-scala 项目的 SpringBoot 微服务项目的创建。

我们经常用的 http://start.spring.io 它罗列了很多现有的 spring-boot-starter 自动配置模块供我们在创建 SpringBoot 项目的时候使用,如图 1 所示。

简化基于Maven的Scala项目创建详解
图 1 SPRING INITIALIZR自动配置模块可用列表示意图

 

如果将我们的 spring-boot-starter-scala 也加入进去,大家在创建项目的时候就可以不用配置 pom.xml 吗?

部署在 http://start.spring.io 的 SPRING INITIALIZR 项目服务实例我们是无权变更的,不过,我们可以在自己的公司或者组织内部搭建一个私有的 SPRING INITIALIZR 服务实例。

教程前面也跟大家提到过,只要到 https://github.com/spring-io/initializr 获取项目然后部署到自己的服务,然后根据 https://github.com/spring-io/initializr#running-your-own-instance 的说明启动服务即可。

要将我们的 spring-boot-starter-scala 加入 SPRING INITIALIZR 的自动配置模块选择列表,需要先对自有的 SPRING INITIALIZR 实例进行一定的配置。

使用任何自己喜欢的文本编辑器打开 application.yml 配置文件(位于 {SPRING INITIALIZR 根目录}/initializr-service/),然后在 dependencies 部分的末尾添加如下配置内容:

  1. dependencies:
  2. - name: Core content:
  3. - name: Security id: security
  4. description: Secure your application via
  5. spring-security weight: 100
  6. -name: AOP id: aop description: Aspect-oriented programming including
  7. spring-aop and AspectJ ...
  8. - name: Ops content:
  9. - name: Actuator id:
  10. actuator description: Production ready features to
  11. help you monitor and
  12. manage your application ...
  13. - name: Scala content:
  14. - name: Scala id: scala
  15. description: API documentation for the Actuator
  16. endpoints repository:
  17. local-repo groupId: com.wacai.springboot
  18. artifactId:
  19. spring-boot-starter-scala version: 0.0.1-SNAPSHOT

我们添加了一个名为 Scala 的展示配置区块,然后将 spring-boot-starter-scala 作为配置内容配置其中。

但这还不够,我们还需要告诉 SPRING INITIALIZR,当用户选择了 spring-boot-starter-scala 之后,在生成项目时,需要到哪里获取这个依赖,既然我们明确指定了 repository:local-repo,那么,就要配置一下这个名字为 local-repo 的仓库,让 SPRING INITIALIZR 知道这个 local-repo。

在 application.yml 配置文件中的 initializr->env 部分添加一个 repositories 相关配置如下:

  1. initializr: env: boms: vaadin-bom: groupId: com.vaadin artifactId: vaadin-bom
  2. version: 7.5.5 cloud-bom: groupId: org.springframework.cloud ...
  3. repositories: local-repo: name: local-maven-repo
  4. url: file:///Users/fujohnwang/.m2 snapshotsEnabled: true

我们添加了 local-repo 指向笔者工作机本地的 maven 仓库地址,大家也可以将自己公司或者组织内部私有 maven 仓库也添加进来。

实际上,在配置 dependenies 的时候,并不一定要配置 repository:local-repo,这里纯粹是为了让大家了解这部分配置的更多信息。

关于 SPRING INITIALIZR 的更多配置详细说明,可以参考 https://github.com/spring-io/initializr/wiki/Configuration-format。

以上所有配置完备后,直接在 {SPRING INITIALIZR根目录}/initializr-service/ 下执行 spring run app.groovy 并最终启动 SPRING INITIALIZR,现在,访问 SPRING INITIALIZR 的服务地址就可以看到我们的最终成果了。

只要选择并单击生成项目之后,最终获得的项目配置中就已经自动获得了 spring-boot-starter-scala 的配置,配置代码如下所示。

  1. <dependency>
  2. <groupId>com.wacai.springboot</groupId>
  3. <artifactId>spring-boot-starter-scala</artifactId>
  4. <version>0.0.1-SNAPSHOT</version>
  5. </dependency>

关于基于 Maven 的 Scala 项目的依赖治理以及 spring-boot-starter-scala,我们暂时就介绍到这里。虽然我们在依赖治理和工具的覆盖度、易用度层面做出了很好的探索,但依然没有简化 Scala 编译插件配置的繁琐操作,大家还需要继续努力。

创建公司和组织级别的 Scala 项目的 parent pom

目前为止,Scala 相关的依赖管理已经比较令人满意了,现在,我们只要主攻如何简化 Scala 编译插件配置的简化就可以了。

好消息就是,Maven 的插件(Plugins)虽然不能通过组合的方式重用,但可以通过继承的方式搞定,所以,我们可以构建一个公司或者组织级别 Maven 项目的 parent pom 专门用于基于 Maven 的 Scala 项目。

下面是我们的示例项目,只有一个 pom.xml 定义:

  1. <project xmlns="http://maven.apache.org/POM/4.0.0"
  2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <parent>
  6. <groupId>org.springframework.boot</groupId>
  7. <artifactId>spring-boot-starter-parent</artifactId>
  8. <version>1.3.2.RELEASE</version>
  9. <relativePath />
  10. </parent>
  11. <groupId>com.keevol.maven</groupId>
  12. <artifactId>scala-parent</artifactId>
  13. <version>0.0.1-SNAPSHOT</version>
  14. <packaging>pom</packaging>
  15. <name>scala-parent</name>
  16. <url>http://maven.apache.org</url>
  17. <properties>
  18. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  19. <java.version>1.8</java.version>
  20. <scala.version>2.11.7</scala.version>
  21. <scala.maven.version>3.2.2</scala.maven.version>
  22. </properties>
  23. <build>
  24. <plugins>
  25. <plugin>
  26. <groupId>net.alchim31.maven</groupId>
  27. <artifactId>scala-maven-plugin</artifactId>
  28. <version>${scala.maven.version}</version>
  29. <executions>
  30. <execution>
  31. <id>compile-scala</id>
  32. <phase>compile</phase>
  33. <goals>
  34. <goal>add-source</goal>
  35. <goal>compile</goal>
  36. </goals>
  37. </execution>
  38. <execution>
  39. <id>test-compile-scala</id>
  40. <phase>test-compile</phase>
  41. <goals>
  42. <goal>add-source</goal>
  43. <goal>testCompile</goal>
  44. </goals>
  45. </execution>
  46. </executions>
  47. <configuration>
  48. <recompileMode>incremental</recompileMode>
  49. <scalaVersion>${scala.version}</scalaVersion>
  50. <args>
  51. <arg>-deprecation</arg>
  52. </args>
  53. <jvmArgs>
  54. <jvmArg>-Xms64m</jvmArg>
  55. <jvmArg>-Xmx1024m</jvmArg>
  56. </jvmArgs>
  57. </configuration>
  58. </plugin>
  59. </plugins>
  60. </build>
  61. <dependencies>
  62. <dependency>
  63. <groupId>org.scala-lang</groupId>
  64. <artifactId>scala-library</artifactId>
  65. <version>${scala.version}</version>
  66. </dependency>
  67. <dependency>
  68. <groupId>org.scala-lang</groupId>
  69. <artifactId>scala-compiler</artifactId>
  70. <version>${scala.version}</version>
  71. </dependency>
  72. </dependencies>
  73. </project>

这个用作父项目(parent)的 maven 项目,其 pom.xml 的定义中将 Scala 编译插件(scala-maven-plugin)的配置以及 Scala 相关类库的依赖配置都囊括在内,这样,所有继承了这个父项目的子项目就都可以直接享受这些配置,而不用自己再去一一进行配置了,比如:

  1. <project xmlns="http://maven.apache.org/POM/4.0.0"
  2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <parent>
  6. <groupId>com.keevol.maven</groupId>
  7. <artifactId>scala-parent</artifactId>
  8. <version>0.0.1-SNAPSHOT</version>
  9. </parent>
  10. <groupId>com.keevol.maven</groupId>
  11. <artifactId>scala-parent-user</artifactId>
  12. <version>1.0-SNAPSHOT</version>
  13. <packaging>jar</packaging>
  14. <name>scala-parent-user</name>
  15. <url>http://maven.apache.org</url>
  16. <properties>
  17. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  18. </properties>
  19. <dependencies>
  20. <dependency>
  21. <groupId>junit</groupId>
  22. <artifactId>junit</artifactId>
  23. <version>3.8.1</version>
  24. <scope>test</scope>
  25. </dependency>
  26. </dependencies>
  27. </project>

父项目的 packaging 类型为 pom,而不是一般的 jar 或者 war 等。

使用 Maven Archetype 简化项目创建

不管是使用什么语言开发,创建项目都是一个永恒的主题,作为一线的开发工程师和领导者们往往也会为团队内部创建项目的千差万别而头疼,所以,脚手架(Scaffording)工具就成了研发体系中必要的一员。

如果我们紧盯和继续挖掘 Maven 的潜力,除了使用前面提到的那些方法,Maven 的 Archetype 功能也是一种可以帮助我们简化 Scala 项目创建的方案。

我们可以遵循 Maven 的 Archetype 规范创建一个 Scala 的模板项目(其实就是一个脚手架项目),然后将所有 Scala 项目相关的配置以及代码等都放到这个模板项目中,当每个开发者希望创建一个 Scala 项目时,只要使用这个 Scala 的 Archetype 项目创建一个模板项目出来就可以直接开发了。

创建 Maven Archetype 项目有两种方式:

  • 根据 Maven Archetype 项目规范从零开始创建项目。
  • 在一个现有的项目的基础上创建 Maven Archetype 项目。

鉴于我们已经有了好几个可以作为规范或者“模范”使用的 Maven 的 Scala 项目,从零开始创建一个 Archetype 就没有必要了,我们选择第二种方式,即在现有项目的基础上创建我们的 Maven Archetype 项目。

我们选择 currency-webapi-with-scala 项目作为模板项目用来创建 Archetype,然后再在生成的 Archetype 项目的基础上进行裁剪,最终获得一个理想的 Archetype。

首先,到 currency-webapi-with-scala 项目下执行 mvn archetype:create-from-project 命令,这将在项目的 target/generated-sources/archetype/ 目录下生成一个“草稿”版的 Archetype 项目,我们将在这个“草稿”版的 Archetype 项目基础上进行一定的裁剪。

我们可以对项目根目录下的 pom.xml 中的必要信息进行修改,比如 groupId、artifactId、developers 等,这些都是将来我们引用这个 Archeteype 项目创建项目时所关心的信息。但使用 Archetype 项目创建出来的 Maven 项目会有哪些内容,则是由 Archetype 项目 src 下的内容决定的。

src/main/resources/archetype-resources 目录下的内容大体上认为就是生成目标项目的时候,生成的目标项目会拥有的东西,没做裁剪之前,这些内容都是根据 currency-webapi-with-scala 的内容“拷贝(Copy)”过来的,我们会对这个符合 Maven 项目结构目录下的内容进行裁剪。

比如删除 currency-webapi.iml 等 IDE 相关元信息文件,添加 .gitignore 等必要元信息文件等。src/main/resources/META-INF/maven/archetype-metadata.xml 文件是进一步细化裁剪规则的配置文件。

以上裁剪完成后,我们执行如下命令完成最终的 Archetype 项目的发布:

$ cd target/generated-sources/archetype/ $ mvn install 或者 mvn deploy 现在,要创建一个基于 Maven 的 Scala 项目,我们只要执行如下命令即可:

  1. mvn archetype:generate -DarchetypeGroupId=com.mengma.springboot-DarchetypeArtifactId=currency-webapi-with-scala-archetype-DarchetypeVersion=0.0.1-SNAPSHOT-DgroupId=com.keevol.springboot-DartifactId=new-scala-project-name-Dversion=0.0.1-SNAPSHOT

以上命令执行完成后,在当前目录下会创建一个 new-scala-project-name 的目录,这就是一个完整的符合我们之前裁剪设定的基于 Maven 的 Scala 项目。

现在,团队或者公司内任何一个开发者想要创建一个基于 Maven 的 Scala 项目,只要执行以上类似的一条 mvn archetype:generate 命令就可以了。文章来源地址https://www.toymoban.com/news/detail-425434.html

到了这里,关于简化基于Maven的Scala项目创建详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用maven创建springboot项目

    命令行或者idea、eclipse快捷创建也可以 访问loalhost:8080,因为没有其他接口所以报错 新建HelloController.java 重新启动项目访问

    2024年02月10日
    浏览(39)
  • 【使用Maven创建web项目步骤】

    目录 前言 一、Maven是什么? 二、创建项目 三、核心文件配置 1.进行pom.xml文件配置 2.删除已加载的无用配置 3.添加TomCat插件和需要使用的依赖 4.进行web.xml文件配置 四、进行TomCat发布预览 提示:这里可以添加本文要记录的大概内容: 使用idea创建Web项目,连接数据库并使用

    2024年02月09日
    浏览(31)
  • IDEA项目实践——创建Java项目以及创建Maven项目案例、使用数据库连接池创建项目简介

    IDEA上面书写wordcount的Scala文件具体操作 IDEA创建项目的操作步骤以及在虚拟机里面创建Scala的项目简单介绍 目录 系列文章目录 前言 一 准备工作 1.1 安装Maven 1.1.1 Maven安装配置步骤 1.1.2 解压相关的软件包 1.1.3 Maven 配置环境变量 1.1.4 配置Maven的私服 1.2 创建一个本地的MySQL数据

    2024年02月04日
    浏览(45)
  • 【Java——maven的使用与idea创建maven项目,导入maven依赖(jar包)】

    1.1、打开maven安装路径下的conf文件夹,找到里面的settings.xml文件,(如果使用的是maven安装程序安装的maven,则settings.xml文件和本地仓库位置在默认位置:C:Userspenglei.m2)将下面的代码复制里面,切记不要放到注释里面 1.2、maven项目全局默认配置jdk版本信息,将下面的代码复制

    2024年02月08日
    浏览(62)
  • IDEA使用Maven快速创建一个Webapp项目(太细)

    环境:IDEA 2022.3.2 Maven项目的配置文件路径必须先设置好,否则一些依赖就不能成功引用(如果不是使用默认的本地仓库地址,而是新建的一个本地仓库地址),里面指向的是本地仓库的地址。(配置本地仓库和maven文件后期出 操作路径: Setting——搜索Maven——点击Maven——设

    2024年02月08日
    浏览(40)
  • scala 安装和创建项目

    Scala,一种可随您扩展的编程语言:从小型脚本到大型多平台应用程序。Scala不是Java的扩展,但它完全可以与Java互操作。在编译时,Scala文件将转换为Java字节码并在JVM(Java虚拟机)上运行。Scala被设计成面向对象和函数式的。它是一种纯粹的面向对象语言。scala的名字来源于

    2024年01月25日
    浏览(25)
  • javaee idea创建maven项目,使用el和jstl

    这是因为maven创建项目时,web.xml头部声明默认是2.3,这个默认jsp关闭el表达式 办法1 在每个需要用到el和jstl的页面上面加一句: 改为 3.0(2.4以后都可以,太高也不行,要注意配合tomcat支持的版本)

    2024年02月10日
    浏览(25)
  • 【Scala入门】Scala下载及安装(Windows)以及Idea创建第一个scala项目

    目录 一、安装准备 二、Scala下载安装 三、Idea 创建Scala项目 在安装之前,确保你的电脑上装有Jdk 8(Jdk 1.8),且环境变量配置正确。如果没有安装Jdk,请参照其他文章先安装Jdk 8(Jdk 1.8)。 (1)确认环境变量方法:使用Win + R 快捷键调出下面窗口,输入“cmd”,按下回车。

    2024年02月05日
    浏览(40)
  • Tomcat的基本使用,如何用Maven创建Web项目、开发完成部署的Web项目

    Web服务器: Web服务器是一个应用程序(软件),对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作,让Web开发更加便捷。 主要功能是“提供网上信息浏览服务”。 Tomcat: Tomcat是Apache软件基金会一个核心项目,是一个开源免费的轻量级Web服务器,支持Servlet/JS

    2024年02月15日
    浏览(40)
  • 创建scala项目并增加新的object试运行

    依赖配置: scala,jdk,maven 没有maven也可以创建 1.1.1 创建 选择新project 路径、依赖配置、代码调试 1.1.2 项目结构 Scala项目中几个文件: .idea:这个文件夹是用来存储项目的配置信息的,包括项目的结构、依赖库等。它是由IntelliJ IDEA自动生成的,并且通常不需要手动修改。

    2024年02月07日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包