If you are using spreadsheet animation from spriter or cynfig, the first option might be possible. I think the second is more likely. you can save time while making the animations by making it without a weapon, and merely adding the specific weapon for each separate animation.
yes, it might get a little messy. I recommend you use a state machine for the animations. then you can have code like:
if Input.is_action_is_just_pressed():
If weapon_state = sword:
$animation_player.play("sword_hit")
If weapon_state = axe:
$animation_player.play("axe_hit")
etc.
I'm sorry if my syntax for the checking the state is incorrect, I'm not sure exactly how it is written.
hope this helps.