Loading...
KatyaMarincheva avatar KatyaMarincheva 572 Точки

[Homework] Introduction to Java August 2015

Здравейте колеги,

Богомил май излиезе прав, че със всичкото първоначално сетване на environment - това ще се окаже най-сложното домашно.

Ето от мен малко задачи:

Problem 3.Print Your Hometown

Problem 5.Print the Current Date and Time

Problem 6.Sum Two Numbers

Problem 7.Console-Based Compilation

Problem 8.* Sort Array of Strings

Problem 9.*** Generate a PDF by External Library

За 9-та задача гледах от тук, символите на боите накартите обаче не се display–ват в PDF-a, независимо от PDP-Viewer-a - пробвах Adobe Acrobat Pro, LibreOffice, OpenOffice, online PDF-viewer - боите на картите ги няма, ясво ще пробвам друга външна библиотека, с iText не стана.

Problem 10.JAR Archive + Console Execution

За jar файла, направих го с Eclipse:

File menu -> Export -> Java -> Runnable JAR file -> Next -> под Launch configuration От dropdown менюто си избирате двойка имена съответстващи на името на java файла о на проекта, в който той се намира; под Export destination -> Browse, избирате си папка за JAR файла, давате му име - аз написах DeckOfCardsPDF.jar -> под Library handling -> Extract required libraries into generated JAR -> Finish

Скрипта: отварям нов txt файл, пиша в него само java -jar DeckOfCardsPDF.jar

save-вам файла, сменям му екстеншъна на .bat, double click и той прави нов pdf - т.е. работи.

Тук има една особеност - локалната версия на java трябва да е 1.8 и cmd трябва да знае пътя до нея - аз се забавих много с това, защото имам инсталирана java 1.8, ъпдейтната навсякъде, но като напиша в cmd java -version - ми даваше все 1.7..... накрая открих, че в Computer -> Properties -> Advanced System Settings -> Environment Variables -> User variables for Katya -“ Path и System variables -> Path съм била имала много наблъскани paths едно след друго, част от тях сочещи към java 1.7, и затова комадата java -jar DeckOfCardsPDF.jar ми даваше грешка.

сложих: C:\Program Files\Java\jdk1.8.0_60\bin;C:\Program C:\Program Files\Java\jre1.8.0_60\bin; и в User и в System Path, изтрих всичко сочещо към java 1.7, и чак след като рестартирах лаптопа cmd откри новата java 1.8 и почна да ми рънва JAR file-a.

Problem 11.* Create a Windows EXE 

- това видео https://www.youtube.com/watch?v=6_gqWRkw0EY

ЕДИТ: за символите на боите на картите - Решено!

проблемът беше скапано times.ttf копие от интернет - затова

                        BaseFont baseFont = BaseFont.createFont("ARIAL.TTF", BaseFont.IDENTITY_H, true); с ARIAL.TTF копие от локалната fonts папка на компютъра работи,

BaseFont baseFont = BaseFont.createFont("c:/windows/fonts/times.ttf", BaseFont.IDENTITY_H, true); сочещо към локалната fonts папка на компютъра също работи; times.ttf не успях да го копирам от fonts папката, може би защото името на файла включва spaces?! Не знам.

Катя

Тагове:
5
Java Advanced 30/08/2015 22:04:48
EBojilova avatar EBojilova 330 Точки

Днес започнах да решавам това домашно но ми се появи следния проблем и от няколко часа не мога да го реша: 

Относно задачата: JAR Archive + Console Execution

Успяла съм да създада PDF файла.

После се пробвам през конзолата да компилирам с javac и ми излиза съобщение error: package com.itextpdf.text.pdf does not exist
Търсих доста къде може да ми е грешката. Въвела съм:
PATH C:\Users\Elena\Java\jre1.8.0_45\bin
CLASSPATH C:\Users\Elena\Java\jre1.8.0_45\lib
в User variables в Environment variables
рестартирала съм копмютъра и пак дава същата грешка.
Пробвах двата пата да са и в System variables, пак същото.
Използвам Windows 7 и IntelliJ.

 

0
KatyaMarincheva avatar KatyaMarincheva 572 Точки

Ели, а на кой етап си, имаш ли вече готов jar файл, който искаш да ръннеш през cmd, или искаш да създадеш jar file?

ако jar file-a ти е готов, в конзолата навигираш дo jar file-a и пишеш:

java -jar <jar-file-name>.jar

нещо такова:


C:\Users\Katya>cd IdeaProjects

C:\Users\Katya\IdeaProjects>java -jar DeckOfCardsPDF.jar

1
29/08/2015 21:49:51
EBojilova avatar EBojilova 330 Точки

Да, успява да създаде jar файл, но аз до колкото разбра преди това трябва да съм създала .class файловете, а аз не мога да стигна до там. Създавам само .class файлове, на .java файловете, които нямат third party libraries. 

В Intellij се рънва и създава pdf., но после не мога да компилирам .java до .class

и съответно дава грешка при рънването на jar- 

Microsoft Windows [Version 6.1.7601]

Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\Elena>cd IdeaProjects

C:\Users\Elena\IdeaProjects>cd 1.IntrodcutionToJava\out\artifacts

C:\Users\Elena\IdeaProjects\1.IntrodcutionToJava\out\artifacts>java -jar 1.IntrodcutionToJava.jar

Error: A JNI error has occurred, please check your installation and try again

Exception in thread "main" java.lang.NoClassDefFoundError: com/itextpd

f/text/DocumentException

        at java.lang.Class.getDeclaredMethods0(Native Method)

        at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)

        at java.lang.Class.privateGetMethodRecursive(Class.java:3048)

        at java.lang.Class.getMethod0(Class.java:3018)

        at java.lang.Class.getMethod(Class.java:1784)

        at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)

        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)

Caused by: java.lang.ClassNotFoundException: com.itextpdf.text.DocumentException

        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)

        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:33

1)

        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

        ... 7 more

C:\Users\Elena\IdeaProjects\1.IntrodcutionToJava\out\artifacts>

0
29/08/2015 22:17:40
KatyaMarincheva avatar KatyaMarincheva 572 Точки

Ако създаваш pdf имаш и клас, в папката out/ production ти е класа.

Грешката която получаваш е по-скоро защото при създаване на jar трябва да подадеш път до класа.

В IntelliJ създаването на jar го правих така:

File -> Project Structure -> Artifacts -> "+" -> JAR -> From modules with dependencies

И тук вече ти излизат две падащи менюта:

Module (тук автоматично си има избрана стойност)

Main Class (Тук browse-ваш от многоточието, и ти излиза само една опция за клас, избираш си я - вече имаш подаден клас)

Кликаш на ОК

Пак на ОК

Сега от менюто Build -> Build Artifacts -> (Action) Build

И имаш jar с клас в него.

(Що не се включиш в скайп?)

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.