Top.Mail.Ru
? ?

Entries by tag: java

JAR (Java ARchive) - это Java-архив, который позволяет хранить в одном архивном файле все ресурсы Java-проекта. JAR-файлы делятся на две категории:
1) простые JAR-файлы
2) исполняемые JAR-файлы
У последних есть одна приятная особенность - в WinXP их можно запустить двойным щелчком мыши по значку.

В Eclipse существует специальная функция экспорта, которая позволяет быстро и без особого труда создавать исполняемые JAR-файлы. Допустим, мы создали некий тестовый проект. Вот как он выглядит в Eclipse:

Image

Вот текст класса "Hello":

Read more...Collapse )

Apache Ant

В статье из Википедии про Apache Ant рассказывается, что Ant - это java-утилита, используемая для автоматизации процесса сборки программного продукта. В этой статье я попробую выложить короткий пример, который поможет протестировать Ant на вашем компьютере...

Во-первых, необходимо установить на свой ПК ant, обратившись для этого по адресу:

http://ant.apache.org/

Для успешного запуска продукта необходимо прописать в CLASSPATH путь к корневому каталогу программы и еще переменную ANT_HOME, в которой также прописывается соответствующий путь. Об инсталляции ant можно прочитать здесь:

http://ant.apache.org/manual/install.html#installing

Для тестирования ant введите в командную строку команду:

ant -version

При успешном запуске вы получите сообщение о версии установленного продукта.

Далее вам необходимо создать отдельную папку, которую вы будете использовать для тестирования ant. Я создал для этого у себя маленький проект:

Image

Корневой папкой проекта timex является папка C:\java\timex\

В корневом каталоге я разместил файл запуска командной строки cmd.exe, а также файл build.xml. Кроме того, в проекте есть две вложенные папки - src и bin. В папке src хранятся мои java файлы, в том числе тестовый файл Test.java. В папке bin хранятся откомпилированные файлы, в том числе Test.class.

Тестовый файл на java представляет собой простейший файл в духе "Hello World!":


class Test {
 public static void main(String[] args) {
  System.out.println("Hello World!");
 }
}

* This source code was highlighted with Source Code Highlighter.



Далее текст файла build.xml:

Read more...Collapse )
Изучая документацию по JExcel, отметил про себя, что JExcel - это лишь частный случай интеграции Java с продуктами Microsoft посредством OLE-технологии. В связи с этим обнаружил в Сети вот такую надстройку над Eclipse для связи с COM-объектами и интеграции с программными продуктами от Microsoft:

http://www.comeclipse.com/

Image

Вобщем, это тоже платная надстройка - но и тут деньги вполне разумные и подъемные, если уж очень надо кому-то..

Что же касается JExcel, то в разделе поддержки от производителя библиотеки есть также раздел, посвященный использованию библиотеки JExcel в среде Eclipse:

http://support.teamdev.com/docs/DOC-1113

Image

Вот такая любопытная информация...
Ну вот, еще один шаг в освоении Java/XML я сделал - мой проект KOLPIT теперь работает в двух направлениях:

1) Java открывает XML-файл и выводит его в диалоговую форму (на базе Swing-компонентов)
2) Java сохраняет отредактированные данные в XML-файл

Теперь я задумался о том, что мне делать с валидацией XML-файла. Известно, что существуют три метода проверки XML-файлов: DTD, XML Schema и RELAX NG.

Многие склоняются к RELAX NG, утверждая что по сравнению с XCD - это просто сказка (см., например, обсуждение статьи "XSD — умный XML" на Хабре).

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

Так вот, на сайте IBM есть три учебных пособия по работе с XML на Java:

XML-программирование в Java-технологии, Часть 1
XML-программирование в Java-технологии, Часть 2
XML-программирование в Java-технологии, Часть 3

Во втором пособии есть раздел посвященный валидации XML:

Валидация XML-документов

В частности, там есть пункт, который называется "Валидация при помощи DOM-анализатора", с примером на java. Вот им-то, думаю, мне и следует заняться. Как только будут какие-то результаты - напишу...
В примере, который приведен на сайте javaswing.ru:

Как сохранить таблицу JTable в XML 

есть один нюанс, с которым я всячески старался справиться в последние два дня. Дело в том, что программа создает XML-файл следующего вида (просто пример, содержимое и структура XML-файла в данном случае не имеют значения):

<HOWTOS><TOPIC><TITLE>Java</TITLE><URL>http://www.rgagnon/javahowto.htm</URL></TOPIC>     <TOPIC><TITLE>PowerBuilder</TITLE><URL>http://www.rgagnon/pbhowto.htm</URL></TOPIC><TOPIC>            <TITLE>Javascript</TITLE><URL>http://www.rgagnon/jshowto.htm</URL></TOPIC><TOPIC>            <TITLE>VBScript</TITLE><URL>http://www.rgagnon/vbshowto.htm</URL></TOPIC> </HOWTOS>


Хотя этот файл и является полноценным XML-файлом, однако человеку его читать очень неудобно. Решение проблемы вы можете найти здесь: 

Convert a flat file to XML (DOM)

Самое ценное, что я заприметил в данном примере - это прием, который делает XML-файл "красивым". Прием заключается в использовании следующей команды:

transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");

В результате мы получаем XML-файл следующего вида:

- <HOWTOS>
-     <TOPIC>
             <TITLE>Java</TITLE>
             <URL>http://www.rgagnon/javahowto.htm</URL>
  </TOPIC>
-     <TOPIC>
             <TITLE>PowerBuilder</TITLE>
             <URL>http://www.rgagnon/pbhowto.htm</URL>
  </TOPIC>
-     <TOPIC>
             <TITLE>Javascript</TITLE>
             <URL>http://www.rgagnon/jshowto.htm</URL>
  </TOPIC>
-     <TOPIC>
             <TITLE>VBScript</TITLE>
              <URL>http://www.rgagnon/vbshowto.htm</URL>
  </TOPIC>
</HOWTOS>


Согласитесь: мелочь - а приятно :)
Рано или поздно следует пройти какую-нибудь сертификацию на знание Java и XML. Без этого трудно представить себе профессиональный рост. Поэтому беру на заметку подготовительные материалы по сертификации на знание XML. По этой ссылке вы найдете 12 руководств от IBM...
Эта библиотека стоит 150 баксов. Сказать, по правде, не представляю пока, как и чем она может мне пригодится и стоит ли она этих денег. Но возможно, что и стоит. Во всяком случае, беру на заметку:

http://www.teamdev.com/jexcel/


Image

Краткое описание продукта (перепост):


JExcel – это библиотека для интеграции Microsoft Excel в Swing приложения и для работы с Excel рабочими книгами и рабочими таблицами из Java программ.

Функциональность JExcel может быть поделена на следующие основные части:

- Автоматизация Excel приложения, рабочих книг, рабочих таблиц и т.д.
Это основная функция библиотеки JExcel, которая позволяет работать с Excel приложениями, рабочими книгами, рабочими таблицами и ячейками.

- Прикрепление рабочий книги к Java Swing приложению.
JExcel предоставляет компонент JWorkbook, который позволяет вам прикреплять рабочую книгу Excel к Java Swing приложению в качестве обычного Swing компонента.

- Управление событиями Excel рабочей книги и рабочей таблицы.
Классы рабочей книги и рабочей таблицы JExcel позволяют добавлять функции управления событиями, которые будут влиять на поведение приложения.

- Работа с родными узлами.
Родные узлы предоставляются для того, чтобы позволить вам добавить настраиваемую функциональность, основанную на JExcel.
Прикол! Вдруг взял, да и сгенерировал Javadoc в HTML-файл. Получилось примерно вот что:

Image

Вообще, это целый пакет файлов. Полезнейшая функция!..

Про так, как генерировать - на сайте eclipse: http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.jdt.doc.user/tasks/tasks-200.htm

Javadoc == хороший код

Ну вот, у меня уже есть первые результаты реализации программы "КОЛПИТ" на Java.

Что получилось на первом этапе:

1) с помощью классов Swing я создал диалоговое окно для ввода и редактирования данных;
2) я заставил проект подгружать в это окно данные из XML-файла определенной структуры.

Вторым этапом будет реализация обратной операции - сохранение вновь введенных или отредактированных данных в XML-файле - в том же самом (то бишь обновление) или в новом.

Но вот уже на этом этапе я вдруг вспомнил про необходимость документирования своих программ. Это, как и все остальное, я сейчас делаю в первый раз. Тем более спасибо книге Гудлифа "Ремесло программиста", в которой вопросу документирования посвящена вся четвертая глава (см. демо-версию на pdf).

Собственно говоря, на сайте Sun Microsystems есть целый раздел про Javadoc:

http://java.sun.com/j2se/javadoc/

Но с другой стороны, знание спецификации - всего лишь полдела. Требуется еще и культура документирования программы, чтобы документация действительно представляла ценность для того, кто ее читает. А этому надо учиться.

В частности, на сайте IBM есть одна статья, посвященная именно этому вопросу:

http://www.ibm.com/developerworks/ru/library/j-jtp0821/

Автор статьи Брайан Гетц (видимо, парня реально достало читать плохо задокументированные тексты) активно критикует плохую документацию и затем кратко перечисляет основные моменты, которые должны быть отражены в хорошей документации. Вот они:

1) ОБРАБОТКА ОШИБОК
- Как метод справляется с ситуациями ошибки или неверными вводами
- Как вызывающий оператор оповещается о ситуациях ошибки
- Какие конкретные подклассы исключений могут быть сгененрированы
2) УСЛОВИЯ ВВОДА/ВЫВОДА
- Какие значения подходят для вводов
- Инварианты класса, входные или выходные условия метода
3) ПРОЧЕЕ
- Побочные эффекты (видимо, как в аннотации к лекарству: тошнота, рвота, слабость головокружение и пр. :))))
- Существуют ли важные сцепления между методами (я так понимаю, когда один метод обращается к другому методу и т.д.)
- Как класс работает с экземпляром, к которому одновременно обращаются множественные потоки

Будем изучать-с...

P.S. Да, кстати, в Eclipse писать Javadoc довольно просто и приятно. Для просмотра есть окошко Window\Show view\@Javadoc.

Кроме того, есть еще некая функция Project\Javadoc generate, но с ней я пока еще не разобрался. Более того, не совсем понимаю, зачем она нужна.

Вот здесь, например, есть ее краткое описание - но все равно пока непонятно.

Но ничего, разберемся со временем...

Profile

Image
Imagechevalry
chevalry

Board




Поиск по блогу
Яндекс


free counters

Locations of visitors to this page

Latest Month

December 2024
S M T W T F S
1234567
891011121314
15161718192021
22232425262728
293031    

Tags

Syndicate

RSS Atom

Comments

Powered by LiveJournal.com
Designed by Lilia Ahner
Image