1、下载Maven 安装包

2、点击Download ===》选择 apache-maven-3.8.6-bin.zip

3、下载后解压产生此文件夹

4、文件夹如图所示

1、点击我的电脑->属性->高级系统设置->环境变量




2、新建:M2_HOME 内容: maven的bin目录(这里看大家安装的路径,不一定一样)

3、新建:MAVEN_HOME 内容:maven的目录

4、关键配置path环境,前面的不要动。加上 %MAVEN_HOME%\bin

5、输入命令行 cmd mvn -version

至此maven环境变量配置完成!
1、打开 \apache-maven-3.8.5\conf 下的 setting-xml 建议使用 notepad++ 打开
添加如下配置(这里我们使用【阿里云镜像】建议配置,下载速度比较快)
<!-- 配置阿里云 -->
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

2、配置本地仓库
<!-- 本地仓库路径 -->
<localRepository>D:/repository</localRepository>

3、配置默认JDK版本(在setting.xml文件中配置)
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
1)在没有默认指定项目路径时出现:进入主界面后点击 configure,然后点击 settings

2)在有指定项目路径时出现:进入项目中 点击 File,然后点击 settings



一般使用maven为我们提供好的骨架时,是需要联网的,配置这个,可以在没有网路的情况下,我们可以正常创建工程,并从之前已经使用过的工程中找到相应的骨架。
输入内容:-DarchetypeCatalog=internal

1、选择Create New Project

2、选中左侧的Maven,并将Create from archetype选中,在下方选择骨架quickstart,点击Next。

3、填写项目的名称以及存储的位置。点击下方的Artifact Coordinates,填写项目坐标的基本信息。

4、确认信息是否正确

5、当右下角出现提示时,点击Enable Auto Import。

6、目录结构如下:

7、我们需要手动将maven文件夹补齐。


8、若该文件夹是普通的文件夹,还要将该文件夹设为resource文件夹。

9、同样,在test文件夹下创建resources文件夹。最后的目录结构如下:

1、首先,新建一个工程,因为不使用骨架,可直接在Maven下点击Next按钮

2、填写项目的名称以及存储的位置。点击下方的Artifact Coordinates,填写项目坐标的基本信息。

点击Finish。
3、新建的文件没有test文件夹下的resources文件夹,我们需要手动将maven文件夹补齐。


4、若该文件夹是普通的文件夹,还要将该文件夹设为resource文件夹(我使用的是19年3月的,不用设置)。

5、最后创建的java工程的目录结构

1、选中左侧的Maven,并将Create from archetype选中,在下方选择骨架webapp,点击Next。

2、填写项目的名称以及存储的位置。点击下方的Artifact Coordinates,填写项目坐标的基本信息。

3、点击Finish。点击Enable Auto-import

4、创建的目录结构如下:

5、下面还要补全创建的目录。


6、若创建的java文件夹是普通的文件夹,需要右键选择:

7、同理创建其他文件夹。最后的目录结构如下:

1、新建项目,选择Maven。因为不使用骨架创建Web项目,所以不勾选Create from archetype,直接点击Next

2、编辑项目名,编辑好后点击Finish

3、不使用骨架的Web项目已经创建完成了,下面是基本的结构,没有web目录


4、我们需要手动添加Web目录,我们需要添加web文件夹;File >> Project Structure

5、按照以下顺序添加web目录。

6、创建和修改位置,修改好后点击Apply

7、然后点击Artifacts,加入刚才创建的项目


8、现在项目基本创建完成,点击OK ,就完成了,下面就有maven的web项目基本目录了

9、基本目录就差一个测试工具类,可以把鼠标放在Test上面new。

10、下面有提示,可以直接双击就可以了

11、以上就是Maven不使用骨架创建Web项目

前提条件:maven配置环境变量。
在保证环境变量配置没问题的情况下执行过程出现mvn不是内部命令类似的错误,建议重启编译器或者命令窗口。
IntelliJ IDEA自身已经集成了maven,不需要再去下载!
1、点击"Edit Configurations"

2、进入Run/Debug Configurations 窗口,点击左上角的"+“,在弹出的” Add New Configuration "列表中选择 “maven”。

3、为新的configuration输入名称和执行的命令,点击确认

4、配置完成后,新的configuration会成为默认的configuration,直接点击运行按钮--三角形绿色按钮

5、之后,就会执行配置的maven命令!

//常用maven命令
mvn -v //查看版本
mvn archetype:create //创建 Maven 项目
mvn compile //编译源代码
mvn test-compile //编译测试代码
mvn test //运行应用程序中的单元测试
mvn site //生成项目相关信息的网站
mvn package //依据项目生成 jar 文件
mvn install //在本地 Repository 中安装 jar
mvn -Dmaven.test.skip=true //忽略测试文档编译
mvn clean //清除目标目录中的生成结果
mvn clean compile //将.java类编译为.class文件
mvn clean package //进行打包
mvn clean test //执行单元测试
mvn clean deploy //部署到版本仓库
mvn clean install //使其他项目使用这个jar,会安装到maven本地仓库中
mvn archetype:generate //创建项目架构
mvn dependency:list //查看已解析依赖
mvn dependency:tree //看到依赖树
mvn dependency:analyze //查看依赖的工具
mvn help:system //从中央仓库下载文件至本地仓库
mvn help:active-profiles //查看当前激活的profiles
mvn help:all-profiles //查看所有profiles
mvn help:effective -pom //查看完整的pom信息
1、在IDEA主界面左下角找到 Terminal 点击进入,直接输入想执行的命令即可。

2、输入命令。

直接打包,不打包依赖包,仅打包出项目中的代码到JAR包中,可称为架包。在其他应用中运行时,必须保证其上面有相应的依赖包,才能运行。
方式一:
1、maven——》Lifecyle——》Clean——》Package

打包成功后就会出现target文件夹


方式二:
打包两个jar包:
- 一个是架包(只包含程序包即方式一打的包
- 一个是全包(将maven项目中的依赖包和项目打为一个包 。)
- 一般都会选择方式二进行打包,这样可以直接在其他应用中调用
- 打包成功后就会出现target文件夹:包括两个jar包
- 较长的名字就是含有依赖包的jar包
maven——》Plugins——》assembly——》assembly:assembly



看这里 【超级完整 的 Maven 讲解 以及私服搭建】
很多朋友在初次使用maven时,都会出现这个问题。
一加载maven项目,即会报出Unable to import maven project这样的错误,哪怕是新的maven项目也不例外。
我查阅了很多博客,给出的解决办法无非是重查MAVEN_HOME、path的配置,idea内settings的配置,我想只要认真配置是不出现这种问题的。
我排查了一遍,并没有发现有关于路径方面的问题。
有部分博客提到了是否是JDK版本的问题,但大多数的博客给出的配置全都是基于JDK1.8版本的(我也是,毕竟稳定好用)。如果使用的是JDK的其他版本,有人给出了以下的修改建议:
在setting.xml中配置全局编译JDK版本
这是jdk1.8的版本
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
如果是JDk1.8以上的,建议修改为1.9,10,11,12…
但即使这样,依旧没有解决读取不到本地仓库的问题。(我之前使用的1.9,无奈改为1.8)
终于,不泄的我终于找到的问题的关键(整整三天,装了又卸,卸了又装,也可能是我太菜)。
maven版本过高,idea带不动…,所以安装低版本的maven即可。
后来者谨记,idea2017版记得使用maven3.5版本,反正我用了3.5.0最低版。
我正在学习如何使用Nokogiri,根据这段代码我遇到了一些问题:require'rubygems'require'mechanize'post_agent=WWW::Mechanize.newpost_page=post_agent.get('http://www.vbulletin.org/forum/showthread.php?t=230708')puts"\nabsolutepathwithtbodygivesnil"putspost_page.parser.xpath('/html/body/div/div/div/div/div/table/tbody/tr/td/div
总的来说,我对ruby还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
给定这段代码defcreate@upgrades=User.update_all(["role=?","upgraded"],:id=>params[:upgrade])redirect_toadmin_upgrades_path,:notice=>"Successfullyupgradeduser."end我如何在该操作中实际验证它们是否已保存或未重定向到适当的页面和消息? 最佳答案 在Rails3中,update_all不返回任何有意义的信息,除了已更新的记录数(这可能取决于您的DBMS是否返回该信息)。http://ar.ru
我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t
我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po
我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚
Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack
在选择我想要运行操作的频率时,唯一的选项是“每天”、“每小时”和“每10分钟”。谢谢!我想为我的Rails3.1应用程序运行调度程序。 最佳答案 这不是一个优雅的解决方案,但您可以安排它每天运行,并在实际开始工作之前检查日期是否为当月的第一天。 关于ruby-如何每月在Heroku运行一次Scheduler插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8692687/
我有一个对象has_many应呈现为xml的子对象。这不是问题。我的问题是我创建了一个Hash包含此数据,就像解析器需要它一样。但是rails自动将整个文件包含在.........我需要摆脱type="array"和我该如何处理?我没有在文档中找到任何内容。 最佳答案 我遇到了同样的问题;这是我的XML:我在用这个:entries.to_xml将散列数据转换为XML,但这会将条目的数据包装到中所以我修改了:entries.to_xml(root:"Contacts")但这仍然将转换后的XML包装在“联系人”中,将我的XML代码修改为