например, позволяет, говорят, что я хочу использовать ArrayList, таким образом, я должен использовать
import java.util.ArrayList;
в моем источнике Java. Но в случае, если я забыл, что ArrayList включен в java.util
пакет. таким образом, как я нахожу название пакета класса ArrayList?
Я не уверен, что Вы используете для разработки, но я использую ИДЕЯ IntelliJ , и я никогда не должен заботиться ни о каком операторе импорта. Я только запускаю к типу ArrL
, и ИДЕЯ будет заботиться об остальных. Это предложит ArrayList<E>
для автозавершения и зафиксирует оператора импорта немедленно. Это просто знает то, что Вы хотите сделать, и можно сконцентрироваться на разработке а не на запоминании имен пакета:
простой способ сделать это в командной строке должно искать src.zip
файл, который идет с SDK. Таким образом, при попытке найти ArrayList
тогда, можно сделать
7z l src.zip | grep ArrayList
, и Вы добираетесь
2013-03-26 21:10:27 ..... 42659 8916 java/util/concurrent/CopyOnWriteArrayList.java
2013-03-26 21:10:27 ..... 21547 5814 java/util/ArrayList.java
, где Вы видите структуру пакета, потому что это подобно подпапкам. Я уверен, что существуют угловые случаи, где это не работает, но можно, по крайней мере, попробовать.
Принятие $JAVA_HOME
установлено правильно.
$ find $JAVA_HOME -name *.jar -print | xargs -n1 jar -tf | grep "ArrayList.class"
com/sun/istack/internal/FinalArrayList.class
com/sun/xml/internal/messaging/saaj/util/FinalArrayList.class
com/sun/xml/internal/org/jvnet/mimepull/FinalArrayList.class
sun/swing/BakedArrayList.class
sun/awt/util/IdentityArrayList.class
java/util/concurrent/CopyOnWriteArrayList.class
java/util/Arrays$ArrayList.class
java/util/ArrayList.class
com/sun/javafx/UnmodifiableArrayList.class
org/eclipse/equinox/internal/p2/core/helpers/CollectionUtils$UnmodifiableArrayList.class
Мало функции помощника, все еще принимая JAVA_HOME
установлено и установлено правильно
function jfind ()
{
if [[ -z "$JAVA_HOME" ]]; then
echo "Please set JAVA_HOME variable";
else
find $JAVA_HOME -name *.jar -print | xargs -n1 jar -tf | grep "$@";
fi
}
более общее решение
, можно занять место JAVA_HOME
любым путем, где желательные банки расположены. Например, Ваш путь проекта:
$ find some_folder_with_jars -name *.jar -print | xargs -n1 jar -tf | grep "Awesome.class"
Источники
На основе этот ответ