1. 程式人生 > >Maven常見報錯原因及解決方案

Maven常見報錯原因及解決方案

No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

解決方法

問題是將JRE作為JDK使用了,解決辦法是安裝JDK,並將JDK設定到Installed JREs中

圖示

這裡寫圖片描述
這裡寫圖片描述

錯誤堆疊

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project hibernate: Compilation failure
[ERROR] No compiler is
provided in this environment. Perhaps you are running on a JRE rather than a JDK? [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and
possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

Failed to transfer http://xx.xx. Error code 400, Repository version policy: RELEASE does not allow metadata in path: cn/blueboz/train/hibernate/0.0.1-SNAPSHOT/maven-metadata.xml -> [Help 1]

問題原因

如果是deploy 出現問題,那麼可能是因為將部署路徑寫錯,如本例子,錯誤在於將SNAPSHOT版本寫成RELEASE版本

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project hibernate: Failed to retrieve remote metadata cn.blueboz.train:hibernate:0.0.1-SNAPSHOT/maven-metadata.xml: Could not transfer metadata cn.blueboz.train:hibernate:0.0.1-SNAPSHOT/maven-metadata.xml from/to blueboz-snapshots (http://bluebozpc:8081/repository/maven-releases): Failed to transfer http://bluebozpc:8081/repository/maven-releases/cn/blueboz/train/hibernate/0.0.1-SNAPSHOT/maven-metadata.xml. Error code 400, Repository version policy: RELEASE does not allow metadata in path: cn/blueboz/train/hibernate/0.0.1-SNAPSHOT/maven-metadata.xml -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

#

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project hibernate: Failed to deploy artifacts: Could not transfer artifact cn.blueboz.train:hibernate:jar:0.0.1-20170319.142156-1 from/to blueboz-snapshots (http://bluebozpc:8081/repository/maven-snapshots): Access denied to http://bluebozpc:8081/repository/maven-snapshots/cn/blueboz/train/hibernate/0.0.1-SNAPSHOT/hibernate-0.0.1-20170319.142156-1.jar. Error code 401, Unauthorized -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

新建專案卡頓問題

這裡寫圖片描述

將maven 的配置設定為offline,離線更新就可以了

這裡寫圖片描述

Fail to transfer …錯誤

Failure to transfer 
    org.codehaus.plexus:plexus-archiver:jar:3.4
    was cached in the local repository, 
    resolution will not be reattempted until 
    the update interval of [Bsdn] has elapsed or updates are forced. 
    Original error: 
         org.codehaus.plexus:plexus-archiver:jar:3.4 
    Bsdn (http://nexus.bsdn.org/content/groups/public/):
    No response received after 60000

一般是因為nexus 私服連結超時,建議直接換一個私服即可,在使用者路徑下的setting中,修改成aliyun的私服

 <mirror>
  <id>Alibaba</id>
  <mirrorOf>central</mirrorOf>
  <name>AliyunMaven</name>
  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>

實在不行的話,根據GAV,定位到本地快取目錄,將
\M2_HOME.m2\repository\org\codehaus\plexus\plexus-archiver\3.4
目錄下的資源刪掉,重新UpdateProject即可

Update Project 的時候變成J2SE1.4

這個問題,網上提供了兩種方案先給出程式碼,如果嘗試了之後發現可以的話,請按照這種方式解決。如果還是不行,請看我的第三種終極解決方案

1.解決方法一

$HOME目錄下的.m2目錄下的settings.xml檔案的profiles節點下新增如下資訊。Jdk版本

<profile>   
    <id>jdk1.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>

2.解決方法二

在 build->pluginManager下新增,或修改maven-compiler-plugin的預設配置資訊

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.7.0</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
    </configuration>
</plugin>

3.更新外掛方法

必須前面兩個方法都嘗試了之後,還是無效的情況下。才可以。這時候,你必須考慮是不是你的IDE的問題了。筆者使用的是EclipseKepler版本,最高支援Jdk7。

點選進入EclipseMarketPlace,輸入Maven
JavaTm 8 support for m2e for Eclipse Kepler SR2 ,安裝就可以了,建議還是翻牆安裝快些
這裡寫圖片描述

相關推薦

Maven見報原因解決方案

No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK? 解決方法 問題是將JRE作為JDK使用了,解決辦法是安裝JD

No ‘Access-Control-Allow-Origin’ header is present on the requested resource 報原因解決方案

跨域——Cross-Origin Resource Sharing 跨域請求:簡單說,不同域名之間可以請求到資料的行為; 報錯資訊: Failed to load https://example.com/: No ‘Access-Control-Allow-O

Java見報資訊解決方式

1. com.alibaba.fastjson.JSONException: syntax error, expect {, actual int, pos 1, json : 0 com.alibaba.fastjson.JSONException: syntax err

Vuejs入門配置和一些用報內容解決方案

曾幾何時聽過這樣一句話:2016年是JavaScript最火的一年;因為湧現出了很多優秀的前端框架,比如:vue,ng,react 這三個以react為首的被稱作前端三大框架。聽著就很吊,有木有?原先

在SSH框架中,多個持久層物件相互引用,從而引發分頁查詢中,查詢所得的持久化物件轉換為JSON字串報原因解決方案

引言: 使用EasyUI框架的小夥伴們都知道,在使用datagrid(資料表格)時,會傳入如一個URL,用於請求資料表格中的所顯示的資料: <!--建立一個空表格--> <table id="mytable"></table>

VS2013使用scanf、gets字串函式編譯報error C4996: 'scanf': This function or variable may be unsafe. 原因解決方案

VS2013使用scanf、gets及字串函式編譯報錯error C4996: ‘scanf’: This function or variable may be unsafe. 原因及解決方案 問題原因: C語言的標準函式中,一些讀取或寫入記憶體的函式存在記憶

CreateCompatibleBitmap的GetLastError返回誤碼8的原因解決方案

使用CreateCompatibleBitmap建立點陣圖的時候,返回錯誤碼8:儲存空間不足,無法處理此命令。 原因:此函式建立點陣圖時用的是系統核心的分頁記憶體,這是稀有資源(可從工作管理員效能頁的核心記憶體項檢視),因此,如果點陣圖比較大的話,就報錯了。 解決方案:Cr

內存溢出原因解決方案

使用 -xmx 遞歸調用 其它 地址 str 啟動 遞歸 對象 參考地址:http://baike.baidu.com/view/79183.htm 內存溢出是指應用系統中存在無法回收的內存或使用的內存過多,最終使得程序運行要用到的內存大於虛擬機能提供的最大內存

CentOS7下Tomcat啟動慢的原因解決方案

按鍵 source 命令 mon 進程 tomcat apps 守護進程 中斷 現象   在一次CentOS 7系統中安裝Tomcat,啟動過程很慢,需要幾分鐘,經過查看日誌,發現耗時在這裏:是session引起的隨機數問題導致的。Tocmat的Session ID是通過S

hive表數據導出到csv亂碼原因解決方案

exce 默認 concat_ws 分隔符 語句 解決方案 打開 clas 連接 轉載自http://blog.csdn.net/lgdlxc/article/details/42126225 Hive表中的數據使用hive - e"select * from table"

U-Mail郵件系統詳解郵件收發延遲原因解決方案

郵件系統 郵件是現代社會辦公最常見、最頻繁的通聯工具,但使用郵件系統時,用戶普遍最關心兩個安全,一個是安全性,郵件會不會被竊密?自己的郵箱賬號會不會被盜取被攻占呢?保存的數據會不會丟失呢?關於這個問題,國內知名通聯解決方案提供商U-Mail資深專家馬工已反復闡述過很多次。 另一個問題是關於郵件傳輸的,郵

sql異常 獲取數據失敗的原因解決方案

報錯 解決方案 utils har .com SQ 技術 提示 png 使用dbutils工具類時 不能使用char作為sql的字段類型 報錯提示不能轉換 所以替換成別的(一般是String)即可 sql異常 獲取數據失敗的原因及解決方案

RHEL7下Tomcat啟動慢的原因解決方案

tomcat分析結果 主要原因是生成隨機數的時候卡住了,導致tomcat啟動不了。是否有足夠的熵來用於產生隨機數,可以通過如下命令來查看[root@tomcat tools]# cat /proc/sys/kernel/random/entropy_avail7為了加速/dev/random提供隨機數的速度,

no session 問題出現的原因解決方案

lte base 請求 屬性 TP IE session關閉 範圍 關聯對象 session是hibernate框架與數據庫交互的對象,與HttpSession是完全不同的東西。session通常與線程綁定,使用完之後就會關閉。 no session問題的出現與延遲加載有關

啟動Hadoop時候datanode沒有啟動的原因解決方案

data 重要 http tar img 保存 src com sta 有時候我們start-dfs.sh啟動了hadoop但是發現datanode進程不存在 一、原因 當我們使用hadoop namenode -format格式化namenode時,會在namenod

Redis線上間歇性查詢慢原因解決方案

   場景:隨著線上redis所儲存的key值原來越多,偶爾會遇到某個查詢耗時很長的問題,剛開始並沒有重視,隨著業務量的增加和某些人對redis操作不規範,導致線上查詢慢的發生概率越來越高,所以領導就找我和運維的人一起查詢此類問題和解決辦法,也順便記錄一下排查過程。 &nbs

Maven JAR包問題排查解決方案

前言 寫這篇文章的初衷是因為今天在使用mvn dependency:tree命令時,突然想起一年前面試阿里的一道面試題。面試題是說假設線上發生JAR包衝突,應該怎麼排查?我那時候的回答是IDEA有個Maven Helper的外掛,可以幫忙分析依賴衝突,然後還有一種辦法是如果一個類import的時

Spring-boot報解決方案

*************************** 申請未能開始******************* ********  描述:  無法配置DataSource:未指定'url'屬性,也無法配置嵌入資料來源。  原因:無法確定合適的驅動程式類   &n

Could not obtain transaction-synchronized Session for current thread原因解決方案

          在開發中,碰到到了Could not obtain transaction-synchronized Session for current thread異常,因此特意記錄下。 一、問題的產生    

java.util.NoSuchElementException錯誤原因解決方案

1.原因:沒有控制語句導致的迭代器的越界,使得map中的資料無法傳入reduce,從而無法把結果傳入目標檔案中。 在進行Mapreduce例項——WordCount實驗時遇到的錯誤,開始以為是lib包匯入和讀取原始檔格式的問題,後來無論怎麼修改都會報這個錯誤,報錯如下: java.lang.Excepti