idea編譯錯誤提示
A. idea怎麼解決error:java:compilation failed:internal java compiler error
1.JDK環境
目前大多數IDE都沒有集成JDK環境,IDEA也是一樣,在使用IDEA之前首先要安裝JDK,並且配置環境變數。與其他IDE不同之處在於,IDEA不會自動匹配系統的JDK環境,編譯時會提示以下錯誤信息:Using javac 1.7.0_40 to compile java sources
java: JPS build failed to load optimized file manager for javac:
java.lang.NoClassDefFoundError: com/sun/tools/javac/util/DefaultFileManager
java.lang.NoClassDefFoundError: com/sun/tools/javac/file/JavacFileManager
java: 致命錯誤: 在類路徑或引導類路徑中找不到程序包 java.lang
……
java: Compilation failed: internal java compiler error
IDEA可以為每個項目指定不同版本的JDK,並且需要開發者手動配置項目的所使用的JDK版本。配置方法如下:
(1)單擊File | Project Structure菜單項,打開ProjectStructure對話框;
(2)在左側列表框中,選擇SDKs列表項,進入SDK配置頁面;
(3)若中間的SDK列表框沒有選項,則單擊「+」號創建一個JDK列表項;
(4)選擇JDK列表項,在SDK 』JDK』選項卡頁面中,單擊JDK home path項目的瀏覽按鈕,定位JDK安裝路徑並保存。
2.項目依賴
IDEA內置了Maven環境,默認採用Maven解決項目依賴問題。在新建項目後,項目的路徑中會生成pom.xml文件和項目名.iml文件。新建項目後,IDEA不會自動刷新Maven的依賴。以Spring Application為例,新建項目編譯時提示以下錯誤信息:
java: 程序包org.springframework.stereotype不存在
java: 程序包org.springframework.context不存在
java: 程序包org.springframework.context.support不存在
刷新Maven配置的方法為:
(1)右鍵單擊項目;
(2)在彈出菜單中選擇Maven|Reimport菜單項。
此時,IDEA將通過網路自動下載相關依賴,並存放在Maven的本地倉庫中。另外,可以將Maven的刷新設置為自動,配置方法為:
(1)單擊File|Setting菜單項,打開Settings選項卡;
(2)在左側的目錄樹中,展開Maven節點;
(3)勾選Import Maven projects automatically選擇項。
在Project Structure的Moles選項卡的Dependencies頁面中,可以查看Maven所引用的項目。如果未找到指定項目,則對於項目將用紅色波浪線提醒。同時,可在該選項卡中修改Maven的依賴項。
B. idea2016.2編譯時有錯誤,代碼不提示怎麼辦
修改動態鏈接庫實現,實現整數參數的輸出:
LIBEXPORT_API int mySum(int a,int b,int *c){ *c=a+b; return *c;}
C#導入的定義:
public class RefComm
{
[DllImport("LibEncrypt.dll",
EntryPoint=" mySum ",
CharSet=CharSet.Ansi,CallingConvention=CallingConvention.StdCall)]
public static extern int mySum (int a, int b,ref int c);
}
在C#中調用測試:
int c=0;
int iSum= RefComm. mySum(,, ref c);
運行查看結果iSum 和c均為5,調用正確。
經過以上幾個步驟的試驗,基本掌握了如何定義動態庫函數以及如何在 C# 定義導入,有此基礎,很快我實現了變長加密函數在 C# 中的調用,至此目標實現。
C. intellij idea 代碼錯誤怎麼不提示了
默認情況下,我們輸入代碼時IDEA會自動彈出代碼提示框,這時候是不用按快捷鍵的,直接使用方向鍵選擇我們需要的條目就可以了。
如果我們想主動
使用代碼提示時,默認的快捷鍵是CTRL+空格,但是中文系統這個快捷鍵為切換輸入法,我們應該調整一下這個快捷鍵的功能。
首先我們點擊左上角的File(文件)——》Setting(設置),打開全局設置。
我們在左側菜單選擇KeyMap,然後按照圖中的路徑,找到Basic和Cyclic
Expand
Word兩個快捷鍵設置。
在Cyclic
Expand
Word上點擊右鍵,移除原本的快捷鍵(AIT+/)。
Basic就是代碼提示功能的選項了,我們在這條項目上點擊右鍵,選擇第一項,增加快捷鍵。
在這個界面,我們按下的鍵就會成為快捷鍵,此時我們按下AIT+/
把它作為代碼提示的快捷鍵。
7
添加完之後代碼提示有了兩個快捷鍵了,我們再次點擊右鍵,刪除原來的AIT+空格的快捷鍵就可以了!
D. Intellij idea編譯項目報錯,項目里沒有配maven,搞了好幾天了,求大神幫忙。
如果是 idea 的話,右擊 pom.xml 文件,選擇最下面的 「 Add as maven build file」,然後編譯器會重新構建,就好了。找到原因了,換了新版本的idea ,工程裡面生成的 .idea 是不一樣的,只要把 .idea目錄刪除,然後重新import項目,就可以了。
具體如下:
1、簡介
編程是編寫程序的中文簡稱,就是讓計算機代為解決某個問題,對某個計算體系規定一定的運算方式,是計算體系按照該計算方式運行,並最終得到相應結果的過程。
為了使計算機能夠理解人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算體系之間交流的過程就是編程。
2、匯編程序
匯編程序。使用匯編語言編寫計算機程序,程序員仍然需要十分熟悉計算機系統的硬體結構,所以從程序設計本身上來看仍然是低效率的、繁瑣的。但正是由於匯編語言與計算機硬體系統關系密切,在某些特定的場合,如對時空效率要求很高的系統核心程序以及實時控製程序等,迄今為止匯編語言仍然是十分有效的程序設計工具。
3、執行原理
計算機對除機器語言以外的源程序不能直接識別、理解和執行,都必須通過某種方式轉換為計算機能夠直接執行的。這種將高級編程硬體程序設計語言編寫的源程序轉換到機器目標程序的方式有兩種:解釋方式和編譯方式。
E. IDEA編譯器如何去掉注釋中參數錯誤的提示
查看注釋:Win:
Ctrl+Q,
Mac:
Control+J
補齊方法調用:
tab,如果方法有參數,游標會自動定位在小括弧內,這個時候,使用commond+P或者Alt+P可以查看參數信息;如果沒有參數,直接定位在()後;調用完畢,不需要再定位游標
F. IDEA提示:java: java.lang.NullPointerException但找不到具體位置及原因
1、檢查jdk環境變數是否正常
2、檢查IDEA編譯配置是否正常
G. IDEA不編譯java文件,一直提示找不到包一類的錯誤,我研究五個多小時了也沒解決,求大佬!!!
編譯沒成功
看錯誤信息的最後幾行,那幾個org.apache相關的包,你在pom里添加依賴沒有(如果你這句話都沒聽明白,那你還是先學習下maven基礎)
H. 用idea編寫java代碼時突然出現的問題求大佬指點
Java8在2014年三月發布了。我們打算將Pons的所有生產伺服器升級到這一新版本。從那時起,我們將大部分代碼庫遷移到lambda表達式、數據流和新的日期API上。我們也會使用Nashorn來把我們的應用中運行時發生改變的部分變成動態腳本。
除了lambda,最實用的特性是新的數據流API。集合操作在任何我見過的代碼庫中都隨處可見。而且對於那些集合操作,數據流是提升代碼可讀性的好方法。
但是一件關於數據流的事情十分令我困擾:數據流只提供了幾個終端操作,例如rece和findFirst屬於直接操作,其它的只能通過collect來訪問。工具類Collctors提供了一些便利的收集器,例如toList、toSet、joining和groupingBy。
例如,下面的代碼對一個字元串集合進行過濾,並創建新的列表:
stringCollection
.stream()
.filter(e -> e.startsWith( "a"))
.collect(Collectors.toList());
在遷移了300k行代碼到數據流之後,我可以說,toList、toSet、和groupingBy是你的項目中最常用的終止操作。所以我不能理解為什麼不把這些方法直接集成到Stream介面上面,這樣你就可以直接編寫:
stringCollection
.stream()
.filter(e -> e.startsWith( "a"))
.toList();
這在開始看起來是個小缺陷,但是如果你需要一遍又一遍地編寫這些代碼,它會非常煩人。
有toArray()方法但是沒有toList(),所以我真心希望一些便利的收集器可以在Java9中這樣添加到Stream介面中。是吧,Brian?ಠ_ಠ
註:Stream.js是瀏覽器上的Java 8 數據流API的JavaScript介面,並解決了上述問題。所有重要的終止操作都可以直接在流上訪問,十分方便。詳情請見API文檔。
無論如何,IntelliJ IDEA聲稱它是最智能的Java IDE。所以讓我們看看如何使用IDEA來解決這一問題。
使用 IntelliJ IDEA 來幫忙
IntelliJ IDEA自帶了一個便利的特性,叫做實時模板(Live Template)。如果你還不知道它是什麼:實時模板是一些常用代碼段的快捷方式。例如,你鍵入sout並按下TAB鍵,IDEA就會插入代碼段System.out.println()。更多信息請見這里。
如何用實時模板來解決上述問題?實際上我們只需要為所有普遍使用的默認數據流收集器創建我們自己的實時模板。例如,我們可以創建.toList縮寫的實時模板,來自動插入適當的收集器.collect(Collectors.toList())。
下面是它在實際工作中的樣子:
讓我們看看如何自己構建它。首先訪問設置(Settings)並在左側的菜單中選擇實時模板。你也可以使用對話框左上角的便利的輸入過濾。
下面我們可以通過右側的+圖標創建一個新的組,叫做Stream。接下來我們向組中添加所有數據流相關的實時模板。我經常使用默認的收集器toList、toSet、groupingBy 和 join,所以我為每個這些方法都創建了新的實時模板。
這一步非常重要。在添加新的實時模板之後,你需要在對話框底部指定合適的上下文。你需要選擇Java → Other,然後定義縮寫、描述和實際的模板代碼。
// Abbreviation: .toList
.collect(Collectors.toList())
// Abbreviation: .toSet
.collect(Collectors.toSet())
// Abbreviation: .join
.collect(Collectors.joining( "$END$"))
// Abbreviation: .groupBy
.collect(Collectors.groupingBy(e -> $END$))
特殊的變數$END$指定在使用模板之後的游標位置,所以你可以直接在這個位置上打字,例如,定義連接分隔符。
提示:你應該開啟"Add unambiguous imports on the fly"(自動添加明確的導入)選項,便於讓IDEA自動添加 java.util.stream.Collectors的導入語句。選項在 Editor → General → Auto Import中。
讓我們在實際工作中看看這兩個模板:
連接
Intellij IDEA中的實時模板非常靈活且強大。你可以用它來極大提升代碼的生產力。你知道實時模板可以拯救生活的其它例子嗎?請讓我知道!
作者:布客飛龍 segmentfault.com/a/1190000006033999
I. IDEA如何解決switch不支持字元串的編譯錯誤
方法/步驟
如圖所示是剛剛導入的項目代碼,裡面有用到switch,類型是String類型,編譯器提示類型錯誤。下面開始更改編譯器語言級別
J. IDEA 泛型錯誤提示
因為你使用了容器,卻沒有用泛型,就會出現上述情況,沒關系,不是什麼錯誤
你可以加上泛型
import java.util.*;
public class EnhancedFor {
public static void main(String[] args) {
int[] arry = ;
for(int i : arry) {
System.out.println(i);
}
List<String> c = new ArrayList<String>();
c.add("aaa");
c.add("bbb");
c.add("ccc");
for (String o : c ) {
System.out.println(o);
}
}
}