用idea 2019.3.3 用archetype生成maven+javafx项目时出现这个提示:
Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:3.1.2:generate (default-cli) on project standalone-pom: Archetype com.zenjava:javafx-basic-archetype:8.1.5 is not configured
Property organizationName is missing.
查了半天不知什么原因,后来重点放在" Property organizationName is missing." 这句, stackoverflow 找到答案, 正确步骤如下:
1. 我的电脑上设置通过本地的S-S-R(你懂的)可以访问外网, 本地端口设置为:9666, 速度较快. "系统代理模式"设置为"全局模式"
2.没单独下载安装maven, 但idea2019.3集成了插件, idea安装目录在D:\IntelliJ2019.3.3\ , 所以我的IDEA设置里是这样的:
3.自己的仓库设置在 D:\maven\my_local_repository , 配置文件: D:\maven\settings.xml ,内容如下,屏蔽了阿里云,保留原始的,但增加了proxy. 下面是D:\maven\settings.xml 内容.
<?xml version="1.0" encoding="UTF-8"?>
<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 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>D:/maven/my_local_repository</localRepository>
<mirrors>
<!--
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
-->
<mirror>
<id>nexus</id>
<name>internal nexus repository</name>
<url>https://repo.maven.apache.org/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
<proxies>
<!-- proxy
| Specification for one proxy, to be used in connecting to the network.
|
-->
<proxy>
<id>ssr_http</id>
<active>true</active>
<protocol>http</protocol>
<host>127.0.0.1</host>
<port>9666</port>
<nonProxyHosts>localhost|maven.aliyun.com</nonProxyHosts>
</proxy>
<proxy>
<id>ssr_https</id>
<active>true</active>
<protocol>https</protocol>
<host>127.0.0.1</host>
<port>9666</port>
<nonProxyHosts>localhost|maven.aliyun.com</nonProxyHosts>
</proxy>
</proxies>
</settings>
4. 在IDEA里新建
5. 第二个界面,先勾选红线处, Create from archetype. 再看蓝线处有没有, 如果没有, 或者实在懒得从几百个中选取, 那就点击右侧按钮,"Add Archetype"
6. 在Add Archetype界面上输入: Group id: com.zenjava ArtifactId: javafx-basic-archetype Version:8.1.5 , 版本号输错后面会出错, 可用的版本号就8.1.5/ 2.0.1/1.0-1.3, 另外2个我没测过, 其他不管,点ok. 查看可用的版本号,点击这个网址:
https://repo.maven.apache.org/maven2/com/zenjava/javafx-basic-archetype/
光标选中8.1.5这行, 点Next
7. 下一个界面
8. 关键步骤, 输入organizationName. 点击+号, Name:organizationName,Value:随便写英文
点OK, 点Finish, 就能正常生成.
9. 正常情况下, 生成的目录结构如下图, 在右侧Maven界面点击Reimport All(小圆圈按钮)一下, 打开MainApp.java, 运行main
10, 运行结果
后记: 后来在 https://maven.aliyun.com/mvn/view 上也找到 com/zenjava里相同的内容, 估计屏蔽阿里云/设置代理也没必要. 我再次测试, 不设代理,屏蔽主站只用阿里云mirror, 同样可以正常工作.