信誉好的福州网站建设烟花代码编程python
- 作者: 五速梦信息网
- 时间: 2026年04月20日 07:07
当前位置: 首页 > news >正文
信誉好的福州网站建设,烟花代码编程python,中国智媒体融合发展报告发布,用户登录页面html代码一、如何使用外部依赖项#xff1f; 您可能已经注意到POM中的一个dependencies元素#xff0c;我们一直在使用它作为示例。事实上#xff0c;您一直在使用外部依赖项#xff0c;但在这里我们将更详细地讨论它是如何工作的。有关更全面的介绍#xff0c;请参阅我们的依赖机…一、如何使用外部依赖项 您可能已经注意到POM中的一个dependencies元素我们一直在使用它作为示例。事实上您一直在使用外部依赖项但在这里我们将更详细地讨论它是如何工作的。有关更全面的介绍请参阅我们的依赖机制介绍。 pom.xml的依赖项部分列出了我们的项目构建所需的所有外部依赖项无论是在编译时、测试时、运行时还是其他时候。现在我们的项目只依赖于JUnit为了清晰起见我去掉了所有的资源过滤内容 project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.mycompany.app/groupIdartifactIdmy-app/artifactIdversion1.0-SNAPSHOT/versionpackagingjar/packagingnameMaven Quick Start Archetype/nameurlhttp://maven.apache.org/urldependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.11/versionscopetest/scope/dependency/dependencies /project 对于每个外部依赖您至少需要定义4个内容groupId、artifactId、version和scope。groupId、artifactId和version与构建该依赖关系的项目的pom.xml中给出的相同。scope元素指示项目如何使用该依赖项可以是编译、测试和运行时等值。有关可以为依赖项指定的所有内容的详细信息请参阅项目描述符参考。 有关整个依赖机制的更多信息请参阅依赖机制简介。 有了这些关于依赖项的信息Maven将能够在构建项目时引用该依赖项。Maven从哪里引用依赖项Maven在本地存储库中查找所有依赖项默认位置为${user.home}/.m2/存储库。在上一节中我们将项目中的工件my-app-1.0-SNAPSHOT.jar安装到本地存储库中。一旦它安装在那里另一个项目可以将该jar作为依赖项引用只需将依赖项信息添加到其pom.xml即可 project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdgroupIdcom.mycompany.app/groupIdartifactIdmy-other-app/artifactId…dependencies…dependencygroupIdcom.mycompany.app/groupIdartifactIdmy-app/artifactIdversion1.0-SNAPSHOT/versionscopecompile/scope/dependency/dependencies /project 在其他地方建立的依赖关系呢它们是如何进入我的本地存储库的每当项目引用本地存储库中不可用的依赖项时Maven都会将该依赖项从远程存储库下载到本地存储库。当你构建第一个项目时你可能注意到Maven下载了很多东西这些下载是用于构建项目的各种插件的依赖项。默认情况下Maven使用的远程存储库可以在https://repo.maven.apache.org/maven2/.您还可以设置自己的远程存储库可能是公司的中央存储库来代替默认远程存储库或在默认远程存储库外使用。有关存储库的更多信息请参阅存储库简介。 让我们为我们的项目添加另一个依赖项。假设我们已经在代码中添加了一些日志记录并且需要添加log4j作为依赖项。首先我们需要知道log4j的groupId、artifactId和版本是什么。Maven Central上相应的目录名为/maven2/log4j/log4j。该目录中有一个名为maven-metadata.xml的文件。下面是log4j的maven-matadata.xml的样子 metadatagroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.1.3/versionversioningversionsversion1.1.3/versionversion1.2.4/versionversion1.2.5/versionversion1.2.6/versionversion1.2.7/versionversion1.2.8/versionversion1.2.11/versionversion1.2.9/versionversion1.2.12/version/versions/versioning /metadata 从这个文件中我们可以看到我们想要的groupId是“log4j”artifactId是“log4j”。我们看到许多不同的版本值可供选择现在我们只使用最新版本1.2.12一些maven-metadata.xml文件可能还指定哪个版本是当前发布版本请参阅存储库元数据参考。除了maven-metadata.xml文件我们还可以看到与log4j库的每个版本相对应的目录。在每一个文件中我们都会找到实际的jar文件例如log4j-1.2.12.jar、pom文件这是依赖项的pom.xml指示它可能具有的任何其他依赖项和其他信息和另一个maven-metadata.xml文件。还有一个对应于这些文件的md5文件其中包含这些文件的md5哈希。您可以使用它来验证库或者确定您可能已经在使用特定库的哪个版本。 现在我们知道了我们需要的信息我们可以将依赖项添加到pom.xml中 project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.mycompany.app/groupIdartifactIdmy-app/artifactIdversion1.0-SNAPSHOT/versionpackagingjar/packagingnameMaven Quick Start Archetype/nameurlhttp://maven.apache.org/urldependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.11/versionscopetest/scope/dependencydependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.12/versionscopecompile/scope/dependency/dependencies /project 现在当我们编译项目mvn-compile时我们将看到Maven为我们下载log4j依赖项。 二、如何在远程存储库中部署jar 为了将jar部署到外部存储库您必须在pom.xml中配置存储库url并在settings.xml中配置用于连接到存储库的身份验证信息。 下面是一个使用scp和用户名/密码身份验证的示例 project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.mycompany.app/groupIdartifactIdmy-app/artifactIdversion1.0-SNAPSHOT/versionpackagingjar/packagingnameMaven Quick Start Archetype/nameurlhttp://maven.apache.org/urldependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.11/versionscopetest/scope/dependencydependencygroupIdorg.apache.codehaus.plexus/groupIdartifactIdplexus-utils/artifactIdversion1.0.4/version/dependency/dependenciesbuildfiltersfiltersrc/main/filters/filters.properties/filter/filtersresourcesresourcedirectorysrc/main/resources/directoryfilteringtrue/filtering/resource/resources/build!–|||–distributionManagementrepositoryidmycompany-repository/idnameMyCompany Repository/nameurlscp://repository.mycompany.com/repository/maven2/url/repository/distributionManagement /project settings xmlnshttp://maven.apache.org/SETTINGS/1.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd…serversserveridmycompany-repository/idusernamejvanzyl/username!– Default value is ~/.ssh/id_dsa –privateKey/path/to/identity/privateKey (default is ~/.ssh/id_dsa)passphrasemy_key_passphrase/passphrase/server/servers… /settings 请注意如果您连接到的openssh-ssh服务器的sshd_config中的参数“PasswordAuthentication”设置为“no”则每次都必须键入密码进行用户名/密码身份验证尽管您可以通过键入用户名和密码使用另一个ssh客户端登录。在这种情况下您可能希望切换到公钥身份验证。 如果在settings.xml中使用密码应格外小心。 三、如何创建文档 要开始使用Maven的文档系统可以使用原型机制使用以下命令为现有项目生成站点 mvn archetype:generate -DarchetypeGroupIdorg.apache.maven.archetypes -DarchetypeArtifactIdmaven-archetype-site -DgroupIdcom.mycompany.app -DartifactIdmy-app-site 现在转到创建网站指南了解如何为您的项目创建文档。 四、如何构建其他类型的项目 请注意生命周期适用于任何项目类型。例如在基本目录中我们可以创建一个简单的web应用程序 mvn archetype:generate -DarchetypeGroupIdorg.apache.maven.archetypes -DarchetypeArtifactIdmaven-archetype-webapp -DgroupIdcom.mycompany.app -DartifactIdmy-webapp 请注意这些必须都在一行上。这将创建一个名为my-webapp的目录其中包含以下项目描述符 project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.mycompany.app/groupIdartifactIdmy-webapp/artifactIdversion1.0-SNAPSHOT/versionpackagingwar/packagingdependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.11/versionscopetest/scope/dependency/dependenciesbuildfinalNamemy-webapp/finalName/build /project 请注意packaging元素-这个元素告诉Maven构建为一个WAR。更改到Web应用程序项目的目录并尝试 mvn package您将看到target/my-webapp.war已经构建并且所有正常步骤都已执行。 五、如何一次构建多个项目 Maven内置了处理多个模块的概念。在本节中我们将展示如何构建上面的WAR并在一个步骤中包括前面的JAR。 首先我们需要在其他两个文件之上的目录中添加一个父pom.xml文件因此它应该如下所示
- pom.xml
- my-app | - pom.xml | - src | - main | - java
- my-webapp | - pom.xml | - src | - main | - webapp 您将创建的POM文件应该包含以下内容 project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.mycompany.app/groupIdartifactIdapp/artifactIdversion1.0-SNAPSHOT/versionpackagingpom/packagingmodulesmodulemy-app/modulemodulemy-webapp/module/modules /project 我们需要依赖于webapp中的JAR所以将其添加到我的webapp/pom.xml中 …dependenciesdependencygroupIdcom.mycompany.app/groupIdartifactIdmy-app/artifactIdversion1.0-SNAPSHOT/version/dependency…/dependencies 最后将以下parent元素添加到子目录中的两个其他pom.xml文件中 project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdparentgroupIdcom.mycompany.app/groupIdartifactIdapp/artifactIdversion1.0-SNAPSHOT/version/parent... 现在请尝试…从顶级目录运行 mvn verifyWAR现在已经在我的webapp/target/my-webapp.WAR中创建JAR包括在内 $ jar tvf my-webapp/target/my-webapp-1.0-SNAPSHOT.war0 Fri Jun 24 10:59:56 EST 2005 META-INF/222 Fri Jun 24 10:59:54 EST 2005 META-INF/MANIFEST.MF0 Fri Jun 24 10:59:56 EST 2005 META-INF/maven/0 Fri Jun 24 10:59:56 EST 2005 META-INF/maven/com.mycompany.app/0 Fri Jun 24 10:59:56 EST 2005 META-INF/maven/com.mycompany.app/my-webapp/ 3239 Fri Jun 24 10:59:56 EST 2005 META-INF/maven/com.mycompany.app/my-webapp/pom.xml0 Fri Jun 24 10:59:56 EST 2005 WEB-INF/215 Fri Jun 24 10:59:56 EST 2005 WEB-INF/web.xml123 Fri Jun 24 10:59:56 EST 2005 META-INF/maven/com.mycompany.app/my-webapp/pom.properties52 Fri Jun 24 10:59:56 EST 2005 index.jsp0 Fri Jun 24 10:59:56 EST 2005 WEB-INF/lib/ 2713 Fri Jun 24 10:59:56 EST 2005 WEB-INF/lib/my-app-1.0-SNAPSHOT.jar 这是怎么回事首先创建的父POM称为应用程序具有POM的封装和定义的模块列表。这个命令告诉Maven在一组项目上运行所有操作而不是仅在当前项目上运行要覆盖这种行为可以使用–non-recurve命令行选项。 接下来我们告诉WAR它需要my-appJAR。这做了几件事它使它在类路径上对WAR中的任何代码都可用在这种情况下没有它确保JAR总是在WAR之前构建并且它指示WAR插件将JAR包括在其库目录中。 您可能已经注意到junit4.11.jar是一个依赖项但最终并没有出现在WAR中。原因是scopetest/scope元素-它只是测试所必需的因此不包括在web应用程序中因为我的应用程序是编译时依赖项。 最后一步是包含父定义。这确保了POM始终可以定位即使项目是通过在存储库中查找与其父项目分开分发的。
- 上一篇: 信用中国门户网站建设方案二手站网站怎做
- 下一篇: 信誉好的龙岗网站设计什么事三合一网站
相关文章
-
信用中国门户网站建设方案二手站网站怎做
信用中国门户网站建设方案二手站网站怎做
- 技术栈
- 2026年04月20日
-
信用徐州网站建设情况谁做的四虎网站是多少
信用徐州网站建设情况谁做的四虎网站是多少
- 技术栈
- 2026年04月20日
-
信用网站建设内容珠海网站建设公司有哪些
信用网站建设内容珠海网站建设公司有哪些
- 技术栈
- 2026年04月20日
-
信誉好的龙岗网站设计什么事三合一网站
信誉好的龙岗网站设计什么事三合一网站
- 技术栈
- 2026年04月20日
-
信誉好的企业网站开发php网站后台开发
信誉好的企业网站开发php网站后台开发
- 技术栈
- 2026年04月20日
-
信誉好的网站建设网站视频存储方案
信誉好的网站建设网站视频存储方案
- 技术栈
- 2026年04月20日
