Связать файлы классов Java для запуска по двойному щелчку в Windows - PullRequest
5 голосов
/ 09 февраля 2010

Если есть одна вещь, которая раздражает меня в Java, это то, что вы не можете дважды щелкнуть файл класса для запуска. Я предполагаю, что есть запись в реестре, которая должна быть отредактирована, чтобы сделать это, но я понятия не имею.

Итак, как говорится на жестяной банке. Кто-нибудь знает, как связать файлы классов Java для запуска по двойному щелчку на Windows (я нацеливаюсь на Windows 7 здесь, но я уверен, что не будет разницы в трех самых последних выпусках)? Это сделало бы мою жизнь (и я уверен, что многие другие люди) намного проще!

Udpate : Я видел ответы, касающиеся создания JAR из рассматриваемого класса и его запуска таким образом. Как бы ни было полезно, это не совсем то, что я ищу здесь. Я эффективно ищу Windows для вызова java с классом по двойному щелчку с правильными аргументами.

Ответы [ 6 ]

5 голосов
/ 15 апреля 2010

если classpath не имеет большого значения, это легко сделать с помощью простого пакетного файла runjava.bat или около того, который связан с файлами .class в проводнике (с помощью щелчка правой кнопкой мыши >> открыть с помощью ..)

@echo off
REM change to folder where the class file resides
cd %~d1%~p1
REM execute the class by calling its name without file extension
start java %~n1
3 голосов
/ 09 февраля 2010

Решение JAR с двойным щелчком является наиболее распространенным простым методом распространения Java. При попытке непосредственного выполнения файлов .class возникнет ряд проблем, и сначала на ум придет classpath.

Тем не менее, если вы хотите поддерживать самые простые возможности в вашей среде разработки , вы могли бы реализовать скрипт, который

  • проверил файл .class на полное имя класса (включая имя пакета и внутреннего класса)
  • прошел по дереву каталогов до корня пути к классу файла
  • (необязательно, включает любые общие каталоги lib в пути к классам)
  • вызвал Java для определенного класса

Тогда вы можете зарегистрировать ваш блестящий скрипт в качестве обработчика для файлов .class. Но так как вы находитесь в среде разработки, разве вы не довольны тем, что ваша IDE делает это?

2 голосов
/ 09 февраля 2010

Для запуска файла .class необходимо, прежде всего, "что-то" сделать, то есть .class должен содержать метод main. Не у всех .class есть такой.

Одна вещь, которую вы можете сделать, - это обернуть ваше приложение (несколько файлов .class) в файл jar .

Короче говоря, вам просто необходим, помимо ваших классов, файл манифеста, который говорит: где основной метод - :

jar -cmf yourmanifestfile.mf  doubleClickApp.jar  *.class 

И все, файл doubleClickApp.jar теперь исполняется с жестом doubleClick.

2 голосов
/ 09 февраля 2010

При установке среды выполнения Java она регистрирует файлы .jar как ассоциацию в Windows. Если дважды щелкнуть файл .jar, он откроется с помощью Java. Чтобы это работало, вам нужно убедиться, что у вас есть определенный манифест, указывающий на класс для запуска. Ваш файл класса для запуска должен иметь основной метод, который будет вызываться.

Предположим, у вас есть класс с именем com.TheClass.class на диске. Если вы хотите, чтобы это работало с двойным щелчком, создайте файл в новом каталоге с именем META-INF / manifest.mf. Поместите это в это:

Manifest-Version: 1.2
Main-Class: com.TheClass

Zip (или используйте команду jar) для вашего класса с этим каталогом и файлом манифеста. Переименуйте его в mine.jar. Дважды щелкните по нему, и он должен запустить ваш класс со средой выполнения Java.

1 голос
/ 22 июля 2011

http://justaddhotwater.webs.com/javaexec.htm

Это программное обеспечение позволяет запускать ваши классы Java, дважды щелкнув по ним. (ТОЛЬКО для Windows).

0 голосов
/ 02 октября 2010

Самый простой способ, который я нашел, это создать ярлык в той же папке, что и файл .class. Затем щелкните правой кнопкой мыши и перейдите в свойства. Измените поле Target на java NameOfClass, и, наконец, дважды щелкните ярлык:)

...