• 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
خروجی گرفتن از برنامه تحت کنسول جاوا در اکلیپس
#1
سلام

دوستان من جاوا رو برای برنامه‌های تحت دکستاپی خودم انتخاب کردم (قبلا با سی شارپ می‌نوشتم) .

الان من یه برنامه تحت کامند لاین نوشتم و میخام خروجی بگیرم از ide اکلیپس استفاده میکنم.

منتها بعد از ساخت فایل .jar به هیچ وجه مِن الوجوهی (Big Grin) اجرا نمیشه.

خیلی جست و جو کردم چند راه بود که یاد تو اکلیپس گزینه‌هاش نبود یا کار نکرد !!! مثل ساخت فایل bat در ویندوز و...

هدفم : ایجاد یک فایل که کاربر با کلیک روش بتونه برنامه رو اجرا کنه و مطمئن باشم رو هر سیستمی که جاوا نصبه اجرا میشه.

نمونه کد خروجی که گرفتم رو ضمیمه کردم.

پروژه ماشین حساب تحت کامند لاینه برای دست گرمی!!!


فایل‌های پیوست
.zip   cal.zip (اندازه 1.6 KB / تعداد دانلود: 3)
همیشه برای یادگیری، موضوعاتی هست!

فرهاد حسن پور / بیرگیک

  پاسخ
تشکر شده توسط :
#2
اکسپشن میده!
ضمنا من بودم اول از کامپایل و ساخت برنامه در کامندلاین جاوا رو شروع میکردم.
چونکه معمولا اینطور برنامه های ویژوال و اینها خصوصا توی دنیای بازمتن، دنگ و فنگ و فوت و فن و نکاتی و مشکلاتی دارن که حال آدمو میگیرن (ولی بعدش که راه بیفتی ردیفه حال میکنی). ولی چیزی که مهمه اینه که اول یه برنامه خیلی ساده و تست اولیه رو بنویسی ببینی اصولا کار میکنه یا نه. چون از ابتدا وقتی چندتا احتمال و مشکل با هم قاطی بشن اونوقت کار پیچیده و اعصاب خوردکن میشه ممکنه زده هم بشی.
کار کردن با JDK در خط فرمان سخت نیست چیز چندان پیچیده ای نداره واسه یه برنامهء تست ساده. حتی GUI هم میشه با همین خط فرمان تست کرد.
این برنامه هم نمیدونم چشه بدون کد منبع و بقیهء تشکیلاتش نمیشه چیز بیشتری گفت. وابسته به external library ای چیزی نبوده؟ از چه کتابخانهء گرافیکی استفاده کردی؟ کدوم نسخهء جاوا؟

البته من جاواکار نیستم ولی از طریق اندروید باهاش آشنا شدم یه چندتا تست کوچولو جدای از برنامه نویسی اندروید هم باهاش انجام دادم.
البته الان جزییات بیشتری یادم نیست که راهنمایی بیشتری بکنم! طبیعتا باید از گوگل و منابع زبان اصلی کمک بگیری.


فایل‌های پیوست تصاویر بندانگشتی
   
  پاسخ
تشکر شده توسط : farhadhp
#3
ممنون حمیدرضا جان

من جاوا رو از زمین خاکی شروع کردم Big Grin خیلی وقته باهاش کار نکرده بودم برای همین خواستم با ساخت یه برنامه کوچولو یاد‌اروی کنم برای خودم.

شما راست میگی من این مراحل (کامپایل جاوا با کامند لاین و... رو انجام دادم) و خیلی هم برام مفید واقع شده.

من با نت بینز جاوا کد میزدم ولی خب یخورده بنظرم نت بینز سنگین تر از اکلیپسه و تم ‌هاش رو دوست نداشتم.

این سورس کد من هست: تو خود اکلیپس قسمت کنسول کار میکنه ولی موقوع خروجی گرفتن وقتی رو فایل .jar کلیک میشه کار نمیکنه.

کد:
package Calculator;

import java.util.Scanner;

public class Calculator {
    public static void main(String args[]){
        Scanner scan = new Scanner(System.in);
        String f;
        int check = 0;
        System.out.println("*** In the of GOD ***\n* Command line Calculator\n* Programming by FARHAD HASSAN POUR\n* E-Mail : [email protected]\n* Website: http://farhadhp.ir");
        do {
            cal();
            System.out.println("Continue ? (y/n) ");
            f = scan.next();
            switch (f){
            case "y":
                check = 1;
                break;
            case "n":
                check = 0;
                break;
            default:
                check = 0;
                break;
            }
        } while(check == 1);
        scan.close();
        
    }
    
    public static void cal(){
        double a;
        double b;
        String c;
        Scanner scan = new Scanner(System.in);
        System.out.println("Please Enter num 1 : ");
        a = scan.nextDouble();
        System.out.println("Please Enter num 2 : ");
        b = scan.nextDouble();
        System.out.println("Please select your work (+ or - or / or *) ");
        c = scan.next();
        switch (c) {
        case "+":
            System.out.println(a+b);
            break;
        case "-":
            System.out.println(a-b);
            break;
        case "/":
            System.out.println(a/b);
            break;
        case "*":
            System.out.println(a*b);
            break;
        default:
            System.out.println("Your input is not valis!");
            break;
        }
        scan.close();
    }
    
}
همیشه برای یادگیری، موضوعاتی هست!

فرهاد حسن پور / بیرگیک

  پاسخ
تشکر شده توسط :
#4
فایل jar یک فایل EXECUTABLE هستش، و نه کلاس...
پس باید با برنامه java و پارامتر -jar بازشون کنی:
کد:
java -jar cal.jar


فایل‌های پیوست تصاویر بندانگشتی
   
وبلاگ: Yousha.Blog.ir


 کد کمتر => خطای کمتر => قابل فهمتر => خوانایی بالاتر => نگهداری بهتر

  پاسخ
تشکر شده توسط : farhadhp
#5
اشکالات برنامه:
- اول که اون package Calculator رو از ابتدای فایل جاوا حذف کردم، چون کار رو پیچیده و مشکل میکنه و توی همچین برنامهء ساده ای هم نیازی بهش نیست.
- مورد بعدی scan.close() که در متد cal بود مشکل ایجاد میکرد، چون باعث بسته شدن System.in میشه (http://stackoverflow.com/a/15398862/2982512).

فرمان کامپایل:
کد:
javac Calculator.java
اجرای فایل کامپایل شده (Calculator.class):
کد:
java Calculator
فرمان ساخت فایل jar:
کد:
jar cvfm test.jar manifest.txt *.class
نکته: همهء این فرمانها رو زمانی اجرا میکنیم که دایرکتوری جاری ما دایرکتوری فایل جاوامونه.

برای اجرای خط فرمان با کلیک هم میتونی بچ فایل درست کنی:
کد:
@echo off
java Calculator
کد:
@echo off
java -jar test.jar
البته شاید راه دیگه مستقیم تری هم داشته باشه!


فایل‌های پیوست
.zip   calc.zip (اندازه 3.71 KB / تعداد دانلود: 2)
  پاسخ
تشکر شده توسط : farhadhp
#6
همه موراد رو انجام دادم بازم ارور داد !

ارور زیر مربوط به چیه ؟

نقل قول:Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

حل شد مشکل با پت جاوا بود حل شد
همیشه برای یادگیری، موضوعاتی هست!

فرهاد حسن پور / بیرگیک

  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان