Январь 2009:
А полный код был бы (для использования с протест @Bombe в памяти):
/**
* Get the method name for a depth in call stack.
* Utility function
* @param depth depth in the call stack (0 means current method, 1 means call method, ...)
* @return method name
*/
public static String getMethodName(final int depth)
{
final StackTraceElement[] ste = Thread.currentThread().getStackTrace();
//System. out.println(ste[ste.length-depth].getClassName()+"#"+ste[ste.length-depth].getMethodName());
// return ste[ste.length - depth].getMethodName(); //Wrong, fails for depth = 0
return ste[ste.length - 1 - depth].getMethodName(); //Thank you Tom Tresansky
}
[еще 1119] в этот вопрос .
декабрь 2011 Обновления:
синеватый комментарии:
я использую JRE 6, и дает мне неправильное имя метода.
Это работает, если я пишуste[2 + depth].getMethodName().
0
,getStackTrace()
,1
getMethodName(int depth)
, и2
вызывает метод.
ответ virgo47 (upvoted) на самом деле вычисляет правильный индекс для применения для возвращения имени метода.
в том же каталоге, что и build.xml. вы можете поместить свой файл manifest.mf
Я использую Netbeans 6.7.1 Оказывается, build-imp.xml (фактический сценарий сборки, который использует Netbeans)
Итак ... убедитесь, что у вас есть свойства проекта, run, main-Class, заполненный -anything-
Я думаю, что это какая-то недокументированная функция: (
это мое содержимое манифеста :
Manifest-Version: 1.0
X-COMMENT: Main-Class will be added automatically by build
Bundle-ManifestVersion: 2
Bundle-Name: jinstall
Bundle-SymbolicName: jinstall
Import-Package: ( .... )
Export-Package: ( .... )
Bundle-Activator: ( ..... )
См. эту статью .
Здесь описано, как
Почему бы не использовать проект maven, который у меня хорошо сработал? Например, apache felix
См. этот подключаемый пример Swing , который я создал в netbeans.