2014-02-05 3 views
1

Есть ли способ установить, какой класс следует запускать при запуске приложения платформы NetBeans? К сожалению, я не эксперт Netbeans. Существует унаследованный проект, с которым мне приходится иметь дело. Это приложение Netbeans Platform с несколькими модулями. Насколько мне известно, во время запуска этот класс будет, как говорят, основным классом, который расширяет ModuleInstall. Обычно имя этого класса - Installer.Приложение платформы NetBeans - «Основной класс»

Моя проблема заключается в том, что у меня есть этот класс установщика, который расширяет ModuleInstall, он реализует все необходимые методы, но если я запустил проект, вместо него появится другое окно.

Есть ли у вас какие-либо идеи, что я должен сделать, чтобы получить соответствующий класс при запуске?

Заранее благодарен!

>Log Session: Wednesday, February 5, 2014 3:05:27 PM CET 
>System Info: 
    Product Version   = (app) v1.3.3 20138 
    Operating System  = Windows 7 version 6.1 running on amd64 
    Java; VM; Vendor  = 1.7.0_25; Java HotSpot(TM) 64-Bit Server VM 23.25-b01; Oracle Corporation 
    Runtime     = Java(TM) SE Runtime Environment 1.7.0_25-b16 
    Java Home    = D:\bakcsa\app\Java\jdk1.7.0_25\jre 
    System Locale; Encoding = en_US (app); Cp1252 
    Home Directory   = C:\Users\bakcsa 
    Current Directory  = D:\bakcsa\Projects\NetBeans Projects\Java1.6\app 
    User Directory   = D:\bakcsa\Projects\NetBeans Projects\Java1.6\app\build\testuserdir 
    Cache Directory   = D:\bakcsa\Projects\NetBeans Projects\Java1.6\app\build\testuserdir\var\cache 
    Installation   = D:\bakcsa\Projects\NetBeans Projects\Java1.6\app\build\cluster 
          C:\Program Files\NetBeans 7.4\platform 
          C:\Program Files\NetBeans 7.4\platform 
    Boot & Ext. Classpath = D:\bakcsa\app\Java\jdk1.7.0_25\jre\lib\resources.jar;D:\bakcsa\app\Java\jdk1.7.0_25\jre\lib\rt.jar;D:\bakcsa\app\Java\jdk1.7.0_25\jre\lib\sunrsasign.jar;D:\bakcsa\app\Java\jdk1.7.0_25\jre\lib\jsse.jar;D:\bakcsa\app\Java\jdk1.7.0_25\jre\lib\jce.jar;D:\bakcsa\app\Java\jdk1.7.0_25\jre\lib\charsets.jar;D:\bakcsa\app\Java\jdk1.7.0_25\jre\lib\jfr.jar;D:\bakcsa\app\Java\jdk1.7.0_25\jre\classes;D:\bakcsa\app\Java\jdk1.7.0_25\jre\lib\ext\access-bridge-64.jar;D:\bakcsa\app\Java\jdk1.7.0_25\jre\lib\ext\dnsns.jar;D:\bakcsa\app\Java\jdk1.7.0_25\jre\lib\ext\jaccess.jar;D:\bakcsa\app\Java\jdk1.7.0_25\jre\lib\ext\localedata.jar;D:\bakcsa\app\Java\jdk1.7.0_25\jre\lib\ext\sunec.jar;D:\bakcsa\app\Java\jdk1.7.0_25\jre\lib\ext\sunjce_provider.jar;D:\bakcsa\app\Java\jdk1.7.0_25\jre\lib\ext\sunmscapi.jar;D:\bakcsa\app\Java\jdk1.7.0_25\jre\lib\ext\zipfs.jar 
    Application Classpath = C:\Program Files\NetBeans 7.4\platform\lib\boot.jar;C:\Program Files\NetBeans 7.4\platform\lib\org-openide-modules.jar;C:\Program Files\NetBeans 7.4\platform\lib\org-openide-util-lookup.jar;C:\Program Files\NetBeans 7.4\platform\lib\org-openide-util.jar;C:\Program Files\NetBeans 7.4\platform\lib\locale\boot_ja.jar;C:\Program Files\NetBeans 7.4\platform\lib\locale\boot_pt_BR.jar;C:\Program Files\NetBeans 7.4\platform\lib\locale\boot_ru.jar;C:\Program Files\NetBeans 7.4\platform\lib\locale\boot_zh_CN.jar;C:\Program Files\NetBeans 7.4\platform\lib\locale\org-openide-modules_ja.jar;C:\Program Files\NetBeans 7.4\platform\lib\locale\org-openide-modules_pt_BR.jar;C:\Program Files\NetBeans 7.4\platform\lib\locale\org-openide-modules_ru.jar;C:\Program Files\NetBeans 7.4\platform\lib\locale\org-openide-modules_zh_CN.jar;C:\Program Files\NetBeans 7.4\platform\lib\locale\org-openide-util-lookup_ja.jar;C:\Program Files\NetBeans 7.4\platform\lib\locale\org-openide-util-lookup_pt_BR.jar;C:\Program Files\NetBeans 7.4\platform\lib\locale\org-openide-util-lookup_ru.jar;C:\Program Files\NetBeans 7.4\platform\lib\locale\org-openide-util-lookup_zh_CN.jar;C:\Program Files\NetBeans 7.4\platform\lib\locale\org-openide-util_ja.jar;C:\Program Files\NetBeans 7.4\platform\lib\locale\org-openide-util_pt_BR.jar;C:\Program Files\NetBeans 7.4\platform\lib\locale\org-openide-util_ru.jar;C:\Program Files\NetBeans 7.4\platform\lib\locale\org-openide-util_zh_CN.jar;D:\bakcsa\app\Java\jdk1.7.0_25\lib\dt.jar;D:\bakcsa\app\Java\jdk1.7.0_25\lib\tools.jar 
    Startup Classpath  = C:\Program Files\NetBeans 7.4\platform\core\core.jar;C:\Program Files\NetBeans 7.4\platform\core\org-openide-filesystems.jar;C:\Program Files\NetBeans 7.4\platform\core\locale\core_ja.jar;C:\Program Files\NetBeans 7.4\platform\core\locale\core_pt_BR.jar;C:\Program Files\NetBeans 7.4\platform\core\locale\core_ru.jar;C:\Program Files\NetBeans 7.4\platform\core\locale\core_zh_CN.jar;C:\Program Files\NetBeans 7.4\platform\core\locale\org-openide-filesystems_ja.jar;C:\Program Files\NetBeans 7.4\platform\core\locale\org-openide-filesystems_pt_BR.jar;C:\Program Files\NetBeans 7.4\platform\core\locale\org-openide-filesystems_ru.jar;C:\Program Files\NetBeans 7.4\platform\core\locale\org-openide-filesystems_zh_CN.jar;D:\bakcsa\Projects\NetBeans Projects\Java1.6\app\build\cluster\core\locale\core_app.jar 
------------------------------------------------------------------------------- 
INFO [org.netbeans.core.startup.NbEvents]: Turning on modules: 
    org.openide.util.lookup [8.22.1 201310111528] 
    org.openide.util [8.33.2 201312091611] 
    org.openide.modules [7.39.1 201310111528] 
    org.openide.filesystems [8.8.1 201310111528] 
    org.netbeans.api.annotations.common/1 [1.21.1 201310111528] 
    org.openide.awt [7.59.1 201310111528] 
    org.netbeans.api.progress/1 [1.35.1 201310111528] 
    org.openide.dialogs [7.32.1 201310111528] 
    org.openide.nodes [7.36.1 201310111528] 
    org.openide.windows [6.65.1 201310111528] 
    org.netbeans.modules.editor.mimelookup/1 [1.33.1 201310111528] 
    org.openide.text [6.58.2 201312091611] 
    org.netbeans.swing.tabcontrol [1.46.1 201310111528] 
    org.netbeans.swing.outline [1.27.1 201310111528] 
    org.openide.explorer [6.54.1 201312091611] 
    org.openide.actions [6.32.1 201310111528] 
    org.netbeans.modules.queries/1 [1.36.1 201310111528] 
    org.openide.loaders [7.51.1 201310111528] 
    org.openide.io [1.42.1 201310111528] 
    org.netbeans.swing.plaf [1.34.1 201310111528] 
    org.netbeans.spi.quicksearch [1.20.1 201310111528] 
    org.netbeans.bootstrap/1 [2.63.1 201310111528] 
    org.netbeans.core.startup/1 [1.51.1 201310111528] 
    org.netbeans.modules.settings/1 [1.42.1 201310111528] 
    org.netbeans.modules.sampler [1.7.1 201310111528] 
    org.netbeans.modules.progress.ui [1.26.1 201310111528] 
    org.netbeans.modules.print [7.19.1 201310111528] 
    org.netbeans.modules.keyring [1.17.1 201310111528] 
    org.netbeans.core/2 [3.43.1 201310111528] 
    org.netbeans.modules.options.api/1 [1.36.1 201310111528] 
    org.netbeans.modules.options.keymap [1.28.2 201312091611] 
    org.netbeans.modules.masterfs/2 [2.44.3 201312091611] 
    org.netbeans.libs.jna/1 [1.31.1 201310111528] 
    org.netbeans.modules.masterfs.windows [1.7.1 201310111528] 
    org.netbeans.modules.keyring.fallback [1.1.1 201310111528] 
    org.netbeans.modules.keyring.impl [1.14.1 201310111528] 
    org.netbeans.modules.javahelp/1 [2.34.1 201310111528] 
    org.netbeans.modules.editor.mimelookup.impl/1 [1.24.1 201310111528] 
    org.netbeans.libs.osgi [1.15.1 201310111528] 
    org.netbeans.libs.jna.platform/1 [1.1.1 201310111528] 
    org.netbeans.libs.felix [2.9.1 201310111528] 
    org.netbeans.core.windows/2 [2.66.1 201310111528] 
    org.netbeans.core.ui/1 [1.38.1 201310111528] 
    org.netbeans.core.output2/1 [1.34.3 201312091611] 
    org.netbeans.core.network [1.1.2 201312091611] 
    org.netbeans.core.netigso [1.23.1 201310111528] 
    org.netbeans.core.nativeaccess/1 [1.23.1 201310111528] 
    org.netbeans.core.multiview/1 [1.36.1 201310111528] 
    org.netbeans.core.multitabs [1.3.3.1 1 201310111528] 
    org.netbeans.core.io.ui/1 [1.23.1 201310111528] 
    com.awst.lib [1.0 140205] 
    org.customer.package.name.core.domain [1.0 140205] 
    org.customer.package.name.core.appexception [1.0 140205] 
    org.customer.package.name.core.appservices [1.0 140205] 
    org.customer.package.name.core.datamodel [1.0 140205] 
    org.customer.package.name.common.userinterface [1.0 140205] 
    org.customer.package.name.ui.workflow [1.0 140205] 
    org.customer.package.name.ui.testevaulationreport [1.0 140205] 
    org.customer.package.name.ui.stationhierarchy [1.0 140205] 
    org.customer.package.name.ui.datefilter [1.0 140205] 
INFO [org.netbeans.core.network.proxy.NetworkProxyReloader]: System network proxy resolver: Windows 
INFO [org.netbeans.core.network.proxy.windows.WindowsNetworkProxy]: Windows system proxy resolver: auto detect 
INFO [org.netbeans.core.network.proxy.NetworkProxyReloader]: System network proxy reloading succeeded. 
INFO [org.netbeans.core.network.proxy.NetworkProxyReloader]: System network proxy - mode: direct 
INFO [org.netbeans.core.network.proxy.NetworkProxyReloader]: System network proxy: falled to default (corect if direct mode went before) 
WARNING [org.openide.filesystems.Ordering]: Not all children in Toolbars/ marked with the position attribute: [app], but some are: [Memory, Standard.xml] 
INFO [org.netbeans.ui.metrics.laf]: USG_LOOK_AND_FEEL 
Diagnostic information 
Input arguments: 
    -Dnetbeans.logger.console=true 
    -ea 
    -Dlog4j.configuration=org/ctbto/idc/rn/app/core/appservices/log4jconfig.xml 
    -Xms256m 
    -Xmx512m 
    -Xverify:none 
    -XX:+CMSClassUnloadingEnabled 
    -Djdk.home=D:\bakcsa\app\Java\jdk1.7.0_25 
    -splash:D:\bakcsa\Projects\NetBeans Projects\Java1.6\app\build\testuserdir\var\cache\splash.png 
    -Dnetbeans.home=C:\Program Files\NetBeans 7.4\platform 
    -Dnetbeans.user=D:\bakcsa\Projects\NetBeans Projects\Java1.6\app\build\testuserdir 
    -Dnetbeans.default_userdir_root= 
    -XX:+HeapDumpOnOutOfMemoryError 
    -XX:HeapDumpPath=D:\bakcsa\Projects\NetBeans Projects\Java1.6\app\build\testuserdir\var\log\heapdump.hprof 
    -Dsun.awt.keepWorkingSetOnMinimize=true 
    -Dnetbeans.dirs=D:\bakcsa\Projects\NetBeans Projects\Java1.6\app\build\cluster;C:\Program Files\NetBeans 7.4\platform 
    exit 
Compiler: HotSpot 64-Bit Tiered Compilers 
Heap memory usage: initial 256.0MB maximum 455.1MB 
Non heap memory usage: initial 23.2MB maximum 130.0MB 
Garbage collector: PS Scavenge (Collections=2 Total time spent=0s) 
Garbage collector: PS MarkSweep (Collections=0 Total time spent=0s) 
Classes: loaded=4107 total loaded=4107 unloaded 0 
INFO [org.netbeans.core.ui.warmup.DiagnosticTask]: Total memory 12,866,506,752 
INFO [null]: Total physical memory 12,866,506,752 
WARNING [org.openide.filesystems.Ordering]: Not all children in Menu/Window/ marked with the position attribute: [org-customer-app-ui-datefilter-DateFilterTopComponent.shadow, org-customer-app-ui-stationhierarchy-StationHierarchyAction.shadow, org-customer-app-ui-testevaulationreport-TestEvaluationReportTopComponent.shadow, org-customer-app-ui-workflow-WorkflowTopComponent.shadow], but some are: [org-netbeans-core-io-ui-IOWindowAction.shadow, SwitchToRecentDocumentAction.shadow, Web, Tools, Separator3.instance, ConfigureWindow, org-netbeans-core-windows-actions-ResetWindowsAction.shadow, Separator4.instance, CloseWindowAction.shadow, CloseAllDocumentsAction.shadow, CloseAllButThisAction.shadow, DocumentsAction.shadow] 
WARNING [org.netbeans.TopSecurityManager]: use of system property netbeans.home has been obsoleted in favor of InstalledFileLocator/Places at org.netbeans.Clusters.relativeDirsWithHome(Clusters.java:137) 
+0

Что вы хотите достичь, показать некоторые компоненты Swing или сделать другое действие при запуске? Прямо сейчас ваш класс установщика не запускается? Какую версию платформы Netbeans вы используете? –

+0

Я окончательно решил это. Проблема заключалась в том, что я пытался использовать последнюю версию netbeans, когда проект был создан с более старой версией Netbeans (7.2). Мне нужно было открыть проект с правильной версией Netbeans и скомпилировать его. – bakcsa83

ответ

0
  1. Ctrl-1 открыть ваш Project окно
  2. правой кнопкой мыши на проекте и нажмите на Свойства
  3. Нажмите на Run узел из Категории панель слева, ищите Главная Класс: текстовое поле справа, затем введите полное имя вашего основного класса или просто нажмите кнопку Browse ..., чтобы избежать опечаток.

enter image description here

Если это Maven проекта, убедитесь, что pom.xml имеет следующий ш/в /project/build/plugins элементе:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-jar-plugin</artifactId> 
    <version>2.4</version> 
    <configuration> 
     <archive> 
      <manifest> 
       <mainClass><!--fully qualified name of your main class goes here--></mainClass> 
       <addClasspath>true</addClasspath> 
       <classpathPrefix>lib/</classpathPrefix> 
      </manifest> 
     </archive> 
    </configuration> 
</plugin> 
+0

Спасибо, что ответили, но это не то, что я ищу. Что вы представляете в своем ответе, так это то, как установить основной класс в случае приложения Java. Мне нужно что-то подобное для приложения Netbeans Platform Application, которое не то же самое. В случае такого проекта фактический основной класс находится внутри контейнера времени выполнения. Я должен как-то сказать контейнер времени выполнения, который я хочу начать. – bakcsa83

+0

@ 高科技 黑手: Хороший снимок экрана! Какой инструмент вы использовали для его создания? –

+1

[Alt + PrintScreen] и вставьте в GIMP (www.gimp.org), используйте «Ellipse Select Tool», чтобы выбрать области, которые я хотел выделить, затем [Ctrl + I] (Выбрать -> Инвертировать), чтобы инвертировать выбор, наконец, серый (цвет -> Desaturate); надеюсь, это поможет вам :) –

1

Вот ответ на ваш вопрос (хотя я вижу тебя» ve решил это по-другому).

Однако, я хотел бы ответить на ваш вопрос, как он стоит:

Есть ли способ, чтобы установить, какой класс должен быть запущен, когда я начинаю NetBeans Platform приложение?

Да, есть. Вы можете предоставить собственный класс методов main для приложения платформы NetBeans.

Вы делаете это, предоставляя системное свойство, netbeans.mainclass в командной строке при запуске приложения. Это должно указывать на ваш собственный основной класс.

Как только вы закончите делать то, что хотите сделать в своей основной теме, вам необходимо передать управление реальному основному классу NetBeans.

Вот краткий пример такого обычая главного:

public class CustomStartup { 

    private static final String NB_MAIN_CLASS = "org.netbeans.core.startup.Main"; 

    public static void main(String[] args) throws Exception { 
     // do whatever you need here (e.g. show a custom login form) 
     System.out.println("Hello world! I am a custom startup class"); 


     // once you're done with that, hand control back to NetBeans 
     ClassLoader classloader = Thread.currentThread().getContextClassLoader(); 
     Class<?> mainClass = Class.forName(NB_MAIN_CLASS, true, classloader); 

     Object mainObject = mainClass.newInstance(); 
     Method mainMethod = mainClass.getDeclaredMethod("main", new Class[]{String[].class}); 
     mainMethod.invoke(mainObject, (Object) args); 
    } 
} 

Это довольно хорошо объясняется here. (пример из этой ссылки)

Смежные вопросы