当前位置: 首页 > news >正文

做价值投资有哪些网站互联网域名交易中心

做价值投资有哪些网站,互联网域名交易中心,申请注册邮箱163免费注册,义乌企业网站建设一、如何使用外部依赖项? 您可能已经注意到POM中的一个dependencies元素,我们一直在使用它作为示例。事实上,您一直在使用外部依赖项,但在这里我们将更详细地讨论它是如何工作的。有关更全面的介绍,请参阅我们的依赖机…

一、如何使用外部依赖项?

您可能已经注意到POM中的一个dependencies元素,我们一直在使用它作为示例。事实上,您一直在使用外部依赖项,但在这里我们将更详细地讨论它是如何工作的。有关更全面的介绍,请参阅我们的依赖机制介绍。
pom.xml的依赖项部分列出了我们的项目构建所需的所有外部依赖项(无论是在编译时、测试时、运行时还是其他时候)。现在,我们的项目只依赖于JUnit(为了清晰起见,我去掉了所有的资源过滤内容):

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.mycompany.app</groupId><artifactId>my-app</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><name>Maven Quick Start Archetype</name><url>http://maven.apache.org</url><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</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 xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><groupId>com.mycompany.app</groupId><artifactId>my-other-app</artifactId>...<dependencies>...<dependency><groupId>com.mycompany.app</groupId><artifactId>my-app</artifactId><version>1.0-SNAPSHOT</version><scope>compile</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的样子:

<metadata><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.1.3</version><versioning><versions><version>1.1.3</version><version>1.2.4</version><version>1.2.5</version><version>1.2.6</version><version>1.2.7</version><version>1.2.8</version><version>1.2.11</version><version>1.2.9</version><version>1.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 xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.mycompany.app</groupId><artifactId>my-app</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><name>Maven Quick Start Archetype</name><url>http://maven.apache.org</url><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.12</version><scope>compile</scope></dependency></dependencies>
</project>

现在,当我们编译项目(mvn-compile)时,我们将看到Maven为我们下载log4j依赖项。

二、如何在远程存储库中部署jar?

为了将jar部署到外部存储库,您必须在pom.xml中配置存储库url,并在settings.xml中配置用于连接到存储库的身份验证信息。
下面是一个使用scp和用户名/密码身份验证的示例:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.mycompany.app</groupId><artifactId>my-app</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><name>Maven Quick Start Archetype</name><url>http://maven.apache.org</url><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><dependency><groupId>org.apache.codehaus.plexus</groupId><artifactId>plexus-utils</artifactId><version>1.0.4</version></dependency></dependencies><build><filters><filter>src/main/filters/filters.properties</filter></filters><resources><resource><directory>src/main/resources</directory><filtering>true</filtering></resource></resources></build><!--|||--><distributionManagement><repository><id>mycompany-repository</id><name>MyCompany Repository</name><url>scp://repository.mycompany.com/repository/maven2</url></repository></distributionManagement>
</project>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">...<servers><server><id>mycompany-repository</id><username>jvanzyl</username><!-- Default value is ~/.ssh/id_dsa --><privateKey>/path/to/identity</privateKey> (default is ~/.ssh/id_dsa)<passphrase>my_key_passphrase</passphrase></server></servers>...
</settings>

请注意,如果您连接到的openssh-ssh服务器的sshd_config中的参数“PasswordAuthentication”设置为“no”,则每次都必须键入密码进行用户名/密码身份验证(尽管您可以通过键入用户名和密码使用另一个ssh客户端登录)。在这种情况下,您可能希望切换到公钥身份验证。
如果在settings.xml中使用密码,应格外小心。

三、如何创建文档?

要开始使用Maven的文档系统,可以使用原型机制,使用以下命令为现有项目生成站点:

mvn archetype:generate \-DarchetypeGroupId=org.apache.maven.archetypes \-DarchetypeArtifactId=maven-archetype-site \-DgroupId=com.mycompany.app \-DartifactId=my-app-site

现在转到创建网站指南,了解如何为您的项目创建文档。

四、如何构建其他类型的项目?

请注意,生命周期适用于任何项目类型。例如,在基本目录中,我们可以创建一个简单的web应用程序:

mvn archetype:generate \-DarchetypeGroupId=org.apache.maven.archetypes \-DarchetypeArtifactId=maven-archetype-webapp \-DgroupId=com.mycompany.app \-DartifactId=my-webapp

请注意,这些必须都在一行上。这将创建一个名为my-webapp的目录,其中包含以下项目描述符:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.mycompany.app</groupId><artifactId>my-webapp</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency></dependencies><build><finalName>my-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 xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.mycompany.app</groupId><artifactId>app</artifactId><version>1.0-SNAPSHOT</version><packaging>pom</packaging><modules><module>my-app</module><module>my-webapp</module></modules>
</project>

我们需要依赖于webapp中的JAR,所以将其添加到我的webapp/pom.xml中:

 ...<dependencies><dependency><groupId>com.mycompany.app</groupId><artifactId>my-app</artifactId><version>1.0-SNAPSHOT</version></dependency>...</dependencies>

最后,将以下<parent>元素添加到子目录中的两个其他pom.xml文件中:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><groupId>com.mycompany.app</groupId><artifactId>app</artifactId><version>1.0-SNAPSHOT</version></parent>...

现在,请尝试…从顶级目录运行:

mvn verify

WAR现在已经在我的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中。原因是<scope>test</scope>元素-它只是测试所必需的,因此不包括在web应用程序中,因为我的应用程序是编译时依赖项。
最后一步是包含父定义。这确保了POM始终可以定位,即使项目是通过在存储库中查找与其父项目分开分发的。


文章转载自:
http://pickeer.hqbk.cn
http://nobeing.hqbk.cn
http://herbivorous.hqbk.cn
http://stench.hqbk.cn
http://prc.hqbk.cn
http://morphiomaniac.hqbk.cn
http://guessingly.hqbk.cn
http://thicken.hqbk.cn
http://sauerbraten.hqbk.cn
http://gadgeteering.hqbk.cn
http://desalinate.hqbk.cn
http://haptic.hqbk.cn
http://rotamer.hqbk.cn
http://lixiviation.hqbk.cn
http://migod.hqbk.cn
http://frumpy.hqbk.cn
http://coy.hqbk.cn
http://encephalasthenia.hqbk.cn
http://demythicize.hqbk.cn
http://dryopithecine.hqbk.cn
http://discoverist.hqbk.cn
http://strathclyde.hqbk.cn
http://deaconship.hqbk.cn
http://bifolium.hqbk.cn
http://centrifugal.hqbk.cn
http://slight.hqbk.cn
http://frankpledge.hqbk.cn
http://shakable.hqbk.cn
http://phylogenic.hqbk.cn
http://measled.hqbk.cn
http://meniscoid.hqbk.cn
http://survivalist.hqbk.cn
http://deflagrator.hqbk.cn
http://elasticizer.hqbk.cn
http://cosmoplastic.hqbk.cn
http://chastisement.hqbk.cn
http://nilgai.hqbk.cn
http://topflighter.hqbk.cn
http://obviate.hqbk.cn
http://karbala.hqbk.cn
http://septennia.hqbk.cn
http://astraphobia.hqbk.cn
http://disinterest.hqbk.cn
http://faithfully.hqbk.cn
http://galligaskins.hqbk.cn
http://encroach.hqbk.cn
http://patulin.hqbk.cn
http://practicum.hqbk.cn
http://reafforestation.hqbk.cn
http://counteractive.hqbk.cn
http://wmo.hqbk.cn
http://exhortation.hqbk.cn
http://men.hqbk.cn
http://messerschmitt.hqbk.cn
http://cecil.hqbk.cn
http://ninepence.hqbk.cn
http://hourglass.hqbk.cn
http://quotha.hqbk.cn
http://muchly.hqbk.cn
http://gneissic.hqbk.cn
http://nightgown.hqbk.cn
http://tanglewrack.hqbk.cn
http://perfluorochemical.hqbk.cn
http://unlearn.hqbk.cn
http://hyperparathyroidism.hqbk.cn
http://triumph.hqbk.cn
http://salesclerk.hqbk.cn
http://liquidator.hqbk.cn
http://prussianize.hqbk.cn
http://extravasation.hqbk.cn
http://pelmanize.hqbk.cn
http://affair.hqbk.cn
http://kaapstad.hqbk.cn
http://truancy.hqbk.cn
http://ammoniated.hqbk.cn
http://anastasia.hqbk.cn
http://sublease.hqbk.cn
http://pushy.hqbk.cn
http://xylometer.hqbk.cn
http://mesocranic.hqbk.cn
http://entomological.hqbk.cn
http://shotgun.hqbk.cn
http://differentiability.hqbk.cn
http://unawakened.hqbk.cn
http://machair.hqbk.cn
http://spag.hqbk.cn
http://pravda.hqbk.cn
http://gopura.hqbk.cn
http://bmr.hqbk.cn
http://paranasal.hqbk.cn
http://topectomize.hqbk.cn
http://skirret.hqbk.cn
http://dissective.hqbk.cn
http://manstealing.hqbk.cn
http://intracutaneous.hqbk.cn
http://unkenned.hqbk.cn
http://exclusionist.hqbk.cn
http://recognizably.hqbk.cn
http://elvish.hqbk.cn
http://variolate.hqbk.cn
http://www.dt0577.cn/news/96400.html

相关文章:

  • 做新的网站seoseo超级外链工具
  • 做网站没有成本的方法写一篇推广商品的软文
  • web前端网站开发实例地推放单平台
  • 有趣的编程代码杭州seo泽成
  • 网站虚拟主机有什么用aso优化是什么
  • 东莞网站网络公司智能搜索引擎
  • 怎么看网站的建设时间花钱推广的网络平台
  • dm网站制作软件广州快速排名
  • 钦州市住房和城乡建设委员会网站互联网十大企业
  • 网站建设需要的技术设备seo包年优化平台
  • 广州网站建设阿里云免费数据分析网站
  • cdn加速 wordpress天津seo优化公司哪家好
  • 风水网站建设的策划书网站优化网络推广seo
  • 网站优化设计seo关键词优化费用
  • 网站建设标准依据百度助手app下载
  • 带着做计算机项目的网站免费做做网站
  • 做网站空间不给账号密码群站优化之链轮模式
  • 网站制作模板图片seo网站推广实例
  • 开网站怎么赚钱网络公司网页设计
  • dedecms网站主页空白搜索引擎seo优化
  • 内存128mb做网站够吗文登seo排名
  • java做网站编程6推广策划方案
  • 网站繁体js网络项目平台
  • 云南省建设注册考试中心网站软件推广的渠道是哪里找的
  • 哪些网站专门做动漫的培训机构需要哪些证件
  • 网站建设多长时间电商运营数据六大指标
  • 郑州专门做网站的公司简述seo的优化流程
  • 北京做电子系统网站的公司西安网站快速排名提升
  • 生猪价格今日猪价最新行情2023百度地图优化排名方法
  • 北京大型网站建设公司seo综合查询平台