• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Ignoring classes

 
Ranch Foreman
Posts: 920
10
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I keep running into this situation

I write a class and then want to make a copy of it and try something else in the copy.  

I start with a package and inside of it a class with main.    I make a copy in the same package.

IntelliJ and probably other IDEs give an error saying that it does not know which main to use.

I could make a file in the IDE and copy the code I don't want  and bring it back later.  

I could comment out the entire contents of the class I don't want.

I could make a new package and store parts that I don't want in it.

I could figure out how to connect git to Intellij and make branches which seems like too much to figure out at the moment.

What is a good way to work like this?

Thanks,

Kevin
 
Marshal
Posts: 79475
379
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

kevin Abel wrote:. . . What is a good way to work like this? . . .

I don't think there is. You should avoid copy'n'paste like the plague, because it produces code duplication, and propagates any uncorrected errors. Probably, the best way to do it is to create a git repository and use a branch for each new class you are trying out. You can simply abandon a class by abandoning the branch. You can consider creating classes with new names, but classes called Clock1, Clock2, Clock3, etc. look like a recipe for confusion. You can't have two classes with the same name in the same package, but you can consider new packages to accommodate changes. Also consider
// commenting‑out
// code

but that will make your code look a right mess.
 
Saloon Keeper
Posts: 27887
198
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
A Java project (or JAR) can have as many classes with main() methods as it wants. In fact, some commercial Java utilities do exactly that so that one JAR can act as many different "programs".

What IntelliJ is upset about is that when you try to run, it doesn't have any way to determine which main class to start execution with.

Off the top of my head, I cannot recall how to handle that, but in Eclipse, you set up profiles using the run/debug editor where you can specify which class a given profile is to execute as main. I do have a vague recollection from my last stint doing Android stuff that it has a run menu with something similar.

It's actually not too hard to connect git to an IntelliJ project, but not really necessary for what you want. It's a good thing to learn, though.
 
Campbell Ritchie
Marshal
Posts: 79475
379
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Half an hour ago, I wrote:. . . use a branch for each new class you are trying out. . . .

Maybe I should have said, “each new version.”
 
Don't get me started about those stupid light bulbs.
reply
    Bookmark Topic Watch Topic
  • New Topic