Единая точка входа java

Setting an Application’s Entry Point

If you have an application bundled in a JAR file, you need some way to indicate which class within the JAR file is your application’s entry point. You provide this information with the Main-Class header in the manifest, which has the general form:

The value classname is the name of the class that is your application’s entry point.

Recall that the entry point is a class having a method with signature public static void main(String[] args) .

After you have set the Main-Class header in the manifest, you then run the JAR file using the following form of the java command:

The main method of the class specified in the Main-Class header is executed.

An Example

We want to execute the main method in the class MyClass in the package MyPackage when we run the JAR file.

We first create a text file named Manifest.txt with the following contents:

Main-Class: MyPackage.MyClass

Warning: The text file must end with a new line or carriage return. The last line will not be parsed properly if it does not end with a new line or carriage return.

We then create a JAR file named MyJar.jar by entering the following command:

jar cfm MyJar.jar Manifest.txt MyPackage/*.class

This creates the JAR file with a manifest with the following contents:

Manifest-Version: 1.0 Created-By: 1.7.0_06 (Oracle Corporation) Main-Class: MyPackage.MyClass

When you run the JAR file with the following command, the main method of MyClass executes:

Setting an Entry Point with the JAR Tool

The ‘e’ flag (for ‘entrypoint’) creates or overrides the manifest’s Main-Class attribute. It can be used while creating or updating a JAR file. Use it to specify the application entry point without editing or creating the manifest file.
For example, this command creates app.jar where the Main-Class attribute value in the manifest is set to MyApp :

jar cfe app.jar MyApp MyApp.class

You can directly invoke this application by running the following command:

If the entrypoint class name is in a package it may use a ‘.’ (dot) character as the delimiter. For example, if Main.class is in a package called foo the entry point can be specified in the following ways:

jar cfe Main.jar foo.Main foo/Main.class

Источник

Точка входа в программу

ЦитатаСообщение от Mazhor1 Посмотреть сообщение

Я практически незнаком с Java, объясните что из себя представляет в этом зыке программирования точка входа в программу имя функции, метода или класса.

Неправильно указана точка входа в программу
Всем привет! Сегодня купил книгу Герберт Шилд "Полное руководство C# 4.0" за 1300 рубликов ,так.

Точка входа.
Всем привет! Я тут себе винды восстановил, а все те игры котрые запускались раньше не запускаются и.

Точка входа
Подскажите пожалуйста как найти точку входа приложения?

Эксперт JavaЭксперт С++

public static void main(String[] args)

ЦитатаСообщение от M128K145 Посмотреть сообщение

public static void main(String[] args)

В этом языке можно использовать только классы или функции тоже?

Добавлено через 55 минут
Да и еще пару вопросов FAQ:

Я так понимаю, есть несколько IDE под Java:
NetBeans(бесплатный) и JCreator
1) Или есть еще какие и какую IDE нужно загрузить для графических приложений?

2)Чем отличаются Java, JavaSX, JavaFX, JavaEE, JavaWeb, JavaME?

Эксперт JavaЭксперт С++

ЦитатаСообщение от NightmareCode Посмотреть сообщение

Только классы. А методы — это составляющие классов.

ЦитатаСообщение от NightmareCode Посмотреть сообщение

Есть еще Eclipse, IntelliJ IDEA. Все IDE под Java бесплатные

ЦитатаСообщение от NightmareCode Посмотреть сообщение

Java Platform, Micro Edition (Java ME, ранее — Java 2 Micro Edition, J2ME) — подмножество платформы Java для устройств, ограниченных в ресурсах, сотовых телефонов, PDA.
Java Platform, Standard Edition, сокращенно Java SE (ранее Java 2 Standard Edition или J2SE) — стандартная версия платформы Java 2, предназначенная для создания и исполнения апплетов и приложений, рассчитанных на индивидуальное пользование или на использование в масштабах малого предприятия. Не включает в себя многие возможности, предоставляемые более мощной и расширенной платформой Java 2 Enterprise Edition (J2EE), рассчитанной на создание коммерческих приложений масштаба крупных и средних предприятий.
Java Platform, Enterprise Edition, сокращенно Java EE (до версии 5.0 — Java 2 Enterprise Edition или J2EE) — набор спецификаций и соответствующей документации для языка Java, описывающей архитектуру серверной платформы для задач средних и крупных предприятий.
Все они составляющие(расширения) языка Java

Источник

Как реализована единая точка входа в Android-приложение и есть ли она?

В Java приложениях, как я понимаю, существует единая точка входа для всего приложения в виде метода main , но этого метода нет в Android-приложениях. Как реализована единая точка входа в Android-приложениях и есть ли она?

6 ответов 6

В андроид приложениях нет единой точки входа, как это делается например при помощи main() . Приложение может запускаться очень многими способами. Приложения, в зависимости от их функционала, могут состоять из разных компонент активити, сервисы.

«Обычным» способом, конечно же является точка входа через main активити, но она не всегда может быть единственной. Запуск того или иного компонента зависит от событий которые происходят в системе и от того, может ли приложение эти события обработать.

Например, сервис может «слушать» событие ACTION_BOOT_COMPLETED и обработав его запуститься сразу после загрузки операционной системы и т.п. Intent и BroadcastReceiver в плане выбора точки входа в приложение представляют довольно широкие возможности.

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

Таки не соглашусь с @ЮрийСПб

С точки зрения GUI точкой входа является Activity промаркированная/обозначенная в манифесте как:

 Документация

)" data-controller="se-share-sheet" data-se-share-sheet-title="Поделиться ссылкой на ответ" data-se-share-sheet-subtitle="" data-se-share-sheet-post-type="answer" data-se-share-sheet-social="facebook twitter " data-se-share-sheet-location="2" data-se-share-sheet-license-url="https%3a%2f%2fcreativecommons.org%2flicenses%2fby-sa%2f3.0%2f" data-se-share-sheet-license-name="CC BY-SA 3.0" data-s-popover-placement="bottom-start">Поделиться
)" title="">Улучшить ответ
ответ дан 17 фев 2017 в 9:20
0
Добавить комментарий |
6

Для андроида используется класс Application и его метод onCreate(). При этом его надо прописать в манифесте.

)" data-controller="se-share-sheet" data-se-share-sheet-title="Поделиться ссылкой на ответ" data-se-share-sheet-subtitle="" data-se-share-sheet-post-type="answer" data-se-share-sheet-social="facebook twitter " data-se-share-sheet-location="2" data-se-share-sheet-license-url="https%3a%2f%2fcreativecommons.org%2flicenses%2fby-sa%2f3.0%2f" data-se-share-sheet-license-name="CC BY-SA 3.0" data-s-popover-placement="bottom-start">Поделиться
)" title="">Улучшить ответ
ответ дан 17 фев 2017 в 9:13
Добавить комментарий |
3

Любое Activity помечено флагами в manifest как

category android:name="android.intent.category.LAUNCHER" action android:name mt24"> 
)" data-controller="se-share-sheet" data-se-share-sheet-title="Поделиться ссылкой на ответ" data-se-share-sheet-subtitle="" data-se-share-sheet-post-type="answer" data-se-share-sheet-social="facebook twitter " data-se-share-sheet-location="2" data-se-share-sheet-license-url="https%3a%2f%2fcreativecommons.org%2flicenses%2fby-sa%2f3.0%2f" data-se-share-sheet-license-name="CC BY-SA 3.0" data-s-popover-placement="bottom-start">Поделиться
)" title="">Улучшить ответ
)">изменён 27 фев 2017 в 12:10
zTrap
2,710 10 серебряных знаков 31 бронзовый знак
ответ дан 26 фев 2017 в 18:01
Добавить комментарий |
2

Android-приложение модульное и может включать в себя service-ы, reciever-ы и прочие элементы, которые могут запускаться до activity или отдельно от них.

В зависимости от задачи вам может подойти простой вариант- onCreate метод Activity указанной как

И отнаследовать приложения от Application или аналогичного

public class App extends MultiDexApplication < @Override public void onCreate() < //ваши действия >> 

Источник

Читайте также:  Php пользователь видит только свою
Оцените статью